Come dividere in pezzi il dataframe di pandas


È possibile utilizzare la seguente sintassi di base per suddividere un DataFrame Panda in parti più piccole:

 #specify number of rows in each chunk
n= 3

#split DataFrame into chunks
list_df = [df[i:i+n] for i in range(0, len (df),n)]

È quindi possibile accedere a ciascun blocco utilizzando la seguente sintassi:

 #access first chunk
list_df[0]

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Esempio: dividere il Pandas DataFrame in pezzi

Supponiamo di avere il seguente DataFrame panda con nove righe contenenti informazioni su vari giocatori di basket:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28, 23],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4, 11],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12, 10]})

#view DataFrame
print (df)

  team points assists rebounds
0 A 18 5 11
1 B 22 7 8
2 C 19 7 10
3 D 14 9 6
4 E 14 12 6
5 F 11 9 5
6 G 20 9 9
7:28 4 12
8 I 23 11 10

Possiamo utilizzare la seguente sintassi per dividere il DataFrame in blocchi in cui ogni blocco ha 3 righe:

 #specify number of rows in each chunk
n= 3

#split DataFrame into chunks
list_df = [df[i:i+n] for i in range(0, len (df),n)]

Possiamo quindi utilizzare la seguente sintassi per accedere a ciascun pezzo:

 #view first chunk
print (list_df[0])

  team points assists rebounds
0 A 18 5 11
1 B 22 7 8
2 C 19 7 10

#view second chunk
print (list_df[1])

  team points assists rebounds
3 D 14 9 6
4 E 14 12 6
5 F 11 9 5

#view third chunk
print (list_df[2])

  team points assists rebounds
6 G 20 9 9
7:28 4 12
8 I 23 11 10

Nota che ogni pezzo contiene tre righe, come abbiamo specificato.

Tieni presente che in questo esempio abbiamo utilizzato un DataFrame con solo nove righe come semplice esempio.

In pratica, probabilmente lavorerai con un DataFrame che ha centinaia di migliaia o addirittura milioni di righe.

Puoi utilizzare la stessa sintassi utilizzata in questo esempio per dividere il tuo DataFrame in blocchi di dimensioni specifiche.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni nei panda:

Panda: come dividere un DataFrame in base al valore della colonna
Panda: come dividere una colonna di stringhe in più colonne
Panda: come dividere una colonna di elenchi in più colonne

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *