Panda: calcola media e std di una colonna in groupby


È possibile utilizzare la seguente sintassi per calcolare la media e la deviazione standard di una colonna dopo aver utilizzato l’operazione groupby() in panda:

 df. groupby ([' team '], as_index= False ). agg ({' points ':[' mean ', ' std ']})

Questo particolare esempio raggruppa le righe di un DataFrame panda in base al valore nella colonna Team , quindi calcola la media e la deviazione standard dei valori nella colonna Points .

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

Esempio: calcola la media e la norma di una colonna in Pandas groupby

Supponiamo di avere il seguente DataFrame panda che contiene informazioni sui giocatori di basket di diverse squadre:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
                   ' points ': [12, 15, 17, 17, 19, 14, 15, 20, 24, 28],
                   ' assists ': [5, 5, 7, 9, 10, 14, 13, 8, 2, 7]})
                            
#view DataFrame
print (df)

  team points assists
0 to 12 5
1 to 15 5
2 To 17 7
3 To 17 9
4 B 19 10
5 B 14 14
6 B 15 13
7 C 20 8
8 C 24 2
9 C 28 7

Possiamo utilizzare la seguente sintassi per calcolare la media e la deviazione standard dei valori nella colonna dei punti , raggruppati per la colonna della squadra :

 #calculate mean and standard deviation of points, grouped by team
output = df. groupby ([' team '], as_index= False ). agg ({' points ':[' mean ', ' std ']})

#view results
print (output)

  team points          
         mean std
0 A 15.25 2.362908
1 B 16.00 2.645751
2 C 24.00 4.000000

Dal risultato possiamo vedere:

  • Il valore medio del punto della squadra A è 15,25 .
  • La deviazione standard dei punti della Squadra A è 2.362908 .

E così via.

Possiamo anche rinominare le colonne in modo che il risultato sia più facile da leggere:

 #rename columns
output.output. columns = [' team ', ' points_mean ', ' points_std ']

#view updated results
print (output)

  team points_mean points_std
0 A 15.25 2.362908
1 B 16.00 2.645751
2 C 24.00 4.000000

Nota : puoi trovare la documentazione completa dell’operazione panda groupby() qui .

Risorse addizionali

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

Come eseguire una somma GroupBy in Pandas
Come utilizzare Groupby e Plot in Pandas
Come contare valori univoci utilizzando GroupBy in Pandas

Aggiungi un commento

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