Pandas: so berechnen sie den prozentsatz der gesamtmenge innerhalb einer gruppe


Sie können die folgende Syntax verwenden, um den Prozentsatz einer Gesamtsumme innerhalb von Panda-Gruppen zu berechnen:

 df[' values_var '] / df. groupby (' group_var ')[' values_var ']. transform (' sum ')

Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.

Beispiel: Berechnen Sie den Prozentsatz der Gesamtsumme innerhalb der Gruppe

Angenommen, wir haben den folgenden Pandas-DataFrame, der die von Basketballspielern verschiedener Teams erzielten Punkte anzeigt:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'],
                   ' points ': [12, 29, 34, 14, 10, 11, 7, 36, 34, 22]})

#view DataFrame
print (df)

  team points
0 to 12
1 to 29
2 to 34
3 to 14
4 to 10
5 B 11
6 B 7
7 B 36
8 B 34
9 B 22

Wir können die folgende Syntax verwenden, um eine neue Spalte im DataFrame zu erstellen, die den Prozentsatz der insgesamt erzielten Punkte, gruppiert nach Team, anzeigt:

 #calculate percentage of total points scored grouped by team
df[' team_percent '] = df[' points '] / df. groupby (' team ')[' points ']. transform (' sum ')

#view updated DataFrame
print (df)

  team points team_percent
0 A 12 0.121212
1 A 29 0.292929
2 A 34 0.343434
3 A 14 0.141414
4 A 10 0.101010
5 B 11 0.100000
6 B 7 0.063636
7 B 36 0.327273
8 B 34 0.309091
9 B 22 0.200000

Die Spalte team_percent gibt den Prozentsatz der Gesamtpunkte an, die dieser Spieler in seinem Team erzielt hat.

Beispielsweise erzielten die Spieler von Team A insgesamt 99 Punkte.

Der Spieler in der ersten Reihe des DataFrame, der 12 Punkte erzielte, erzielte also insgesamt 12/99 = 12,12 % der Gesamtpunktzahl von Team A.

Ebenso erzielte der Spieler in der zweiten Reihe des DataFrame, der 29 Punkte erzielte, insgesamt 29/99 = 29,29 % der Gesamtpunktzahl von Team A.

Und so weiter.

Hinweis : Die vollständige Dokumentation zur GroupBy- Funktion finden Sie hier .

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie andere gängige Vorgänge in Pandas ausgeführt werden:

Pandas: So berechnen Sie die kumulative Summe pro Gruppe
Pandas: So zählen Sie eindeutige Werte nach Gruppen
Pandas: So berechnen Sie den Modus nach Gruppe
Pandas: So berechnen Sie die Korrelation nach Gruppen

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert