Heim > Backend-Entwicklung > Python-Tutorial > Wie berechnet man Durchschnittswerte mit mehreren Gruppierungen in Pandas?

Wie berechnet man Durchschnittswerte mit mehreren Gruppierungen in Pandas?

Mary-Kate Olsen
Freigeben: 2024-11-20 01:45:01
Original
346 Leute haben es durchsucht

How to Calculate Average Values with Multiple Groupings in Pandas?

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 
Nach dem Login kopieren

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()
Nach dem Login kopieren

Ergebnis:

              time
cluster
1        12.333333
2        54.000000
3         6.000000
Nach dem Login kopieren

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()
Nach dem Login kopieren

Ergebnis:

               time
cluster org
1       a    438886
        c        23
2       d      9874
        h        34
3       w         6
Nach dem Login kopieren

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())
Nach dem Login kopieren

Ergebnis:

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

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!

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