In Pandas können Sie mehrstufige Gruppierungen und Aggregationen durchführen, um komplexe Statistiken zu berechnen. Eine häufige Aufgabe besteht darin, den Durchschnitt einer Spalte innerhalb von Gruppen zu berechnen, die durch mehrere andere Spalten definiert sind.
Berücksichtigen Sie den folgenden DataFrame:
cluster org time 1 a 8 1 a 6 2 h 34 1 c 23 2 d 74 3 w 6
Um den Durchschnitt der Zeit pro Organisation in jedem Cluster zu berechnen können Sie den DataFrame sowohl nach Cluster als auch nach Organisation gruppieren:
df.groupby(['cluster', 'org'], as_index=False).mean()
Dadurch wird ein nach Cluster und Organisation gruppierter DataFrame erstellt, wobei die durchschnittliche Zeit für jede Gruppe berechnet wird:
cluster org time 0 1 a 12.333333 1 1 c 23.0 2 2 h 34.0 3 2 d 74.0 4 3 w 6.0
Wenn Sie nur den Zeitmittelwert innerhalb jedes Clusters wünschen, können Sie nur nach Cluster gruppieren:
df.groupby('cluster').mean()
Dadurch wird ein DataFrame mit dem für jeden Cluster berechneten Zeitdurchschnitt erstellt:
cluster time 0 1 12.333333 1 2 54.0 2 3 6.0
Alternativ können Sie die Groupby-Methode für die mehrspaltige Kombination ['cluster', 'org'] verwenden und dann den Mittelwert der Zeit berechnen:
df.groupby(['cluster', 'org']).mean()['time']
Dadurch wird eine Serie mit erstellt Durchschnitt der Zeit, berechnet für jede Kombination aus Cluster und Organisation.
Das obige ist der detaillierte Inhalt vonWie berechnet man Durchschnittswerte innerhalb mehrerer Gruppen bei Pandas?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!