Groupby Groupby und Average in Pandas
Problem:
Gegeben ein DataFrame mit 'cluster ', 'org' und 'time' Spalten, wie können Sie die durchschnittliche 'Zeit' pro 'org' pro 'Cluster' berechnen und dann den Durchschnitt der 'Zeit' für jede 'Cluster'-Gruppe ermitteln?
Erwartung:
cluster | mean(time) |
---|---|
1 | 15 |
2 | 54 |
3 | 6 |
Lösung:
Um das gewünschte Ergebnis zu erzielen, können Sie die folgenden Schritte verwenden:
Groupby ['cluster', 'org'] und Take Mean:
mean_by_cluster_org = df.groupby(['cluster', 'org'], as_index=False).mean()
Groupby ['cluster' ] und Durchschnitt berechnen:
cluster_average = mean_by_cluster_org.groupby('cluster')['time'].mean()
Ergebnisse anzeigen:
print(cluster_average)
Alternativ Sie kann dieses Problem auch mit den folgenden Methoden angehen:
Option 1: Groupby Only ['cluster'] und Take Mean:
cluster_only_average = df.groupby('cluster').mean()
Option 2: Gruppieren Sie nach ['Cluster', 'Organisation'] und verwenden Sie den Mittelwert:
cluster_org_mean = df.groupby(['cluster', 'org']).mean()
Unabhängig vom gewählten Ansatz liefert Ihnen die Ausgabe die durchschnittliche „Zeit“ pro „Organisation“. für jede „Cluster“-Gruppe und der Gesamtdurchschnitt der „Zeit“ pro „Cluster“.
Das obige ist der detaillierte Inhalt vonWie berechnet man die durchschnittliche „Zeit' pro „Organisation' pro „Cluster' und dann die durchschnittliche „Zeit' für jede „Cluster'-Gruppe in Pandas?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!