Heim > Backend-Entwicklung > Python-Tutorial > Wie berechnet man die durchschnittliche Zeit pro Organisation innerhalb jedes Clusters in einem Pandas DataFrame?

Wie berechnet man die durchschnittliche Zeit pro Organisation innerhalb jedes Clusters in einem Pandas DataFrame?

Susan Sarandon
Freigeben: 2024-11-14 20:49:02
Original
363 Leute haben es durchsucht

How to Calculate the Average Time per Organization Within Each Cluster in a Pandas DataFrame?

Durchführen gruppierter Aggregationen und Durchschnittsberechnungen

Betrachten Sie den folgenden DataFrame mit Daten zu Cluster, Organisation und Zeit:

  cluster org  time
0       a    8
1       a    6
2       h   34
3       c   23
4       d   74
5       w    6
Nach dem Login kopieren

Das Ziel besteht darin, die durchschnittliche Zeit pro Organisation innerhalb jedes Clusters zu berechnen. Das erwartete Ergebnis sollte wie folgt aussehen:

cluster  mean(time)
1        15 #=((8 + 6) / 2 + 23) / 2
2        54 #=(74 + 34) / 2
3        6
Nach dem Login kopieren

Lösung mit Double GroupBy- und Mittelwertberechnungen:

Um dies zu erreichen, nutzen Sie die Leistung der Groupby-Funktion von Pandas:

  1. Anfängliche Gruppierung nach: Gruppieren Sie die Daten sowohl nach „Cluster“ als auch 'org' mit groupby(['cluster', 'org']).
  2. Zwischenaggregat: Berechnen Sie den Zeitmittelwert innerhalb jeder Gruppe mit mean().
  3. Secondary GroupBy: Gruppieren Sie den resultierenden DataFrame weiter nach „Cluster“. groupby('cluster').
  4. Final Aggregate: Berechnen Sie den Mittelwert der Zeit für jeden Cluster mit „mean()“.
cluster_org_time = df.groupby(['cluster', 'org'], as_index=False).mean()
result = cluster_org_time.groupby('cluster')['time'].mean()
Nach dem Login kopieren

Alternative Lösung für gruppierte Gruppendurchschnitte:

Nur ​​für den Durchschnitt von Clustergruppen gruppieren Sie einfach nach ['cluster'] und berechnen Sie den Mittelwert mit „mean()“.

cluster_mean_time = df.groupby(['cluster']).mean()
Nach dem Login kopieren

Zusätzliche Option für GroupBy mit org und Mittelwertberechnung:

Alternativ können Sie gruppieren durch ['cluster', 'org'] und berechnen Sie direkt den Mittelwert:

cluster_org_mean_time = df.groupby(['cluster', 'org']).mean()
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie berechnet man die durchschnittliche Zeit pro Organisation innerhalb jedes Clusters in einem Pandas DataFrame?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage