Pandas: come utilizzare groupby con aggregazioni multiple
È possibile utilizzare la seguente sintassi di base per utilizzare un groupby con più aggregazioni nei panda:
df. groupby (' team '). agg ( mean_points=(' points ', np. mean ), sum_points=(' points ', np. sum ), std_points=(' points ', np. std ))
Questa particolare formula raggruppa le righe del DataFrame in base alla variabile chiamata team e quindi calcola diverse statistiche riassuntive per la variabile chiamata points .
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: utilizzo di Groupby con più aggregazioni in Panda
Supponiamo di avere il seguente DataFrame panda che contiene informazioni su vari giocatori di basket:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['Mavs', 'Mavs', 'Mavs', 'Heat', 'Heat', 'Heat'], ' points ': [18, 22, 19, 14, 14, 11], ' assists ': [5, 7, 7, 9, 12, 9]}) #view DataFrame print (df) team points assists 0 Mavs 18 5 1 Mavs 22 7 2 Mavs 19 7 3 Heat 14 9 4 Heat 14 12 5 Heat 11 9
Possiamo utilizzare la seguente sintassi per raggruppare le righe del DataFrame per squadra , quindi calcolare la media, la somma e la deviazione standard dei punti per ciascuna squadra:
import numpy as np #group by team and calculate mean, sum, and standard deviation of points df. groupby (' team '). agg ( mean_points=(' points ', np. mean ), sum_points=(' points ', np. sum ), std_points=(' points ', np. std )) mean_points sum_points std_points team Heat 13.000000 39 1.732051 Mavs 19.666667 59 2.081666
Il risultato mostra la media, la somma e la deviazione standard della variabile punti per ciascuna squadra .
Puoi utilizzare una sintassi simile per eseguire un groupby e calcolare tutte le aggregazioni che desideri.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni dei panda:
Come contare valori univoci utilizzando Pandas GroupBy
Come applicare una funzione a Pandas Groupby
Come creare un grafico a barre da Pandas GroupBy