Gruppierte Aggregation mit mehreren Gruppierungen und Durchschnitt
In Pandas ist die Durchführung von Aggregationen für nach mehreren Ebenen gruppierte Daten ein üblicher Vorgang. Betrachten 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
Eine häufige Aufgabe besteht darin, den Durchschnitt einer bestimmten Spalte, z. B. „Zeit“, pro Gruppe zu berechnen, die durch mehrere Variablen definiert ist, z. B. „Cluster“ und „Organisation“.
Lösung 1: Mittelwert nur für Clustergruppierungen
Zur Berechnung des Mittelwerts der „Zeit“, gruppiert nach Nur „Cluster“, Sie können den folgenden Code verwenden:
df.groupby(['cluster']).mean()
Ergebnis:
time cluster 1 12.333333 2 54.000000 3 6.000000
Lösung 2: Mittelwert für eine Kombination von Gruppierungen
Wenn Sie den Mittelwert der „Zeit“ für jede Kombination aus „Cluster“ und „Organisation“ berechnen möchten, Sie können Folgendes verwenden:
df.groupby(['cluster', 'org']).mean()
Ergebnis:
time cluster org 1 a 438886 c 23 2 d 9874 h 34 3 w 6
Lösung 3: Verschachtelter Mittelwert für Gruppierungen
Zu Führen Sie einen verschachtelten Mittelwert durch, indem Sie zunächst den Mittelwert für die Kombination aus „Cluster“ und „Organisation“ und dann den Mittelwert für „Cluster“ bilden. Gruppen, verwenden Sie:
(df.groupby(['cluster', 'org'], as_index=False).mean() .groupby('cluster')['time'].mean())
Ergebnis:
cluster mean(time) 1 15 #=((8 + 6) / 2 + 23) / 2 2 54 #=(74 + 34) / 2 3 6
Das obige ist der detaillierte Inhalt vonWie berechnet man Durchschnittswerte mit mehreren Gruppierungen in Pandas?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!