Come convertire l'output di pandas groupby in dataframe


Questo tutorial spiega come convertire l’output di un panda GroupBy in un panda DataFrame.

Esempio: converti l’output Pandas GroupBy in DataFrame

Supponiamo di avere il seguente DataFrame panda che mostra i punti segnati da giocatori di basket di diverse squadre:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' position ': ['G', 'G', 'F', 'C', 'G', 'F', 'F', 'F'],
                   ' points ': [5, 7, 7, 10, 12, 22, 15, 10]})

#view DataFrame
print (df)

  team position points
0 AG 5
1 AG 7
2AF 7
3 AC 10
4 BG 12
5 BF 22
6 BF 15
7 BF 10

Possiamo usare la seguente sintassi per contare il numero di giocatori, raggruppati per squadra e posizione :

 #count number of players, grouped by team and position
group = df. groupby ([' team ', ' position ']). size ()

#viewoutput
print (group)

team position
AC 1
      F 1
      G2
BF 3
      G 1
dtype: int64

Dall’output, possiamo vedere il numero totale di giocatori, raggruppati per squadra e posizione .

Tuttavia, supponiamo che vogliamo che il nostro output mostri il nome della squadra in ogni riga in questo modo:

 team position count
0 AC 1
1 AF 1
2 AG 2
3 BF 3
4 BG 1

Per ottenere questo risultato, possiamo semplicemente utilizzare reset_index() durante l’esecuzione di GroupBy:

 #count number of players, grouped by team and position
df_out = df. groupby ([' team ', ' position ']). size (). reset_index (name=' count ')

#viewoutput
print (df_out)

  team position count
0 AC 1
1 AF 1
2 AG 2
3 BF 3
4 BG 1

L’output ora appare nel formato desiderato.

Si noti che l’argomento name in reset_index() specifica il nome della nuova colonna prodotta da GroupBy.

Possiamo anche confermare che il risultato è effettivamente un DataFrame panda:

 #display object type of df_out
type (df_out)

pandas.core.frame.DataFrame

Nota : puoi trovare la documentazione completa dell’operazione GroupBy in panda qui .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni comuni nei panda:

Panda: come calcolare il cumulato per gruppo
Panda: come contare i valori unici per gruppo
Panda: come calcolare la correlazione per gruppo

Aggiungi un commento

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