Panda: come calcolare la modalità in un oggetto groupby


È possibile utilizzare la seguente sintassi per calcolare la modalità in un oggetto GroupBy in panda:

 df. groupby ([' group_var '])[' value_var ']. agg ( pd.Series.mode )

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

Esempio: modalità Calcola in un oggetto GroupBy

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', 'C', 'C', 'C'],
                   ' points ': [10, 10, 12, 15, 19, 23, 20, 20, 26]})

#view DataFrame
print (df)

  team points
0 to 10
1 to 10
2 to 12
3 to 15
4 B 19
5 B 23
6 C 20
7 C 20
8 C 26

Possiamo utilizzare la seguente sintassi per calcolare il valore dei punti moda per ciascuna squadra:

 #calculate mode points value for each team
df. groupby ([' team '])[' points ']. agg ( pd.Series.mode )

team
At 10
B [19, 23]
C 20
Name: points, dtype: object

Ecco come interpretare il risultato:

  • Il valore dei punti moda per la squadra A è 10 .
  • I valori dei punti moda per la squadra B sono 19 e 23 .
  • Il valore dei punti moda per la squadra C è 20 .

Se un gruppo ha più modalità, puoi utilizzare la seguente sintassi per visualizzare ciascuna modalità su una riga diversa:

 #calculate mode points value for each team
df. groupby ([' team '])[' points ']. apply ( pd.Series.mode )

team   
At 0 10
B 0 19
      1 23
C 0 20
Name: points, dtype: int64

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 *