Pandas: wie man groupby() mit size() verwendet
Sie können die folgenden Methoden mit den Funktionen groupby() und size() in Pandas verwenden, um die Anzahl der Vorkommen pro Gruppe zu zählen:
Methode 1: Vorkommen zählen, gruppiert nach einer Variablen
df. groupby (' var1 '). size ()
Methode 2: Vorkommen zählen, gruppiert nach mehreren Variablen
df. groupby ([' var1 ', ' var2 ']). size ()
Methode 3: Zählen Sie Vorkommen, gruppiert nach mehreren Variablen und sortiert nach Anzahl
df. groupby ([' var1 ', ' var2 ']). size (). sort_values (ascending= False )
Die folgenden Beispiele zeigen, wie jede Methode in der Praxis mit dem folgenden Pandas DataFrame verwendet wird:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'], ' position ': ['G', 'G', 'F', 'F', 'F', 'G', 'G', 'G', 'G', 'F'], ' points ': [15, 22, 24, 25, 20, 35, 34, 19, 14, 12]}) #view DataFrame print (df) team position points 0 AG 15 1 AG 22 2 AF 24 3 AF 25 4 AF 20 5 BG 35 6 BG 34 7 BG 19 8 BG 14 9 BF 12
Beispiel 1: Vorkommen zählen, gruppiert nach einer Variablen
Der folgende Code zeigt, wie die Funktionen groupby() und size() verwendet werden, um das Vorkommen von Werten in der Teamspalte zu zählen:
#count occurrences of each value in team column
df. groupby (' team '). size ()
team
AT 5
B5
dtype: int64
Aus dem Ergebnis können wir ersehen, dass die Werte A und B jeweils fünfmal in der Teamspalte vorkommen.
Beispiel 2: Vorkommen zählen, gruppiert nach mehreren Variablen
Der folgende Code zeigt, wie die Funktionen groupby() und size() verwendet werden, um das Vorkommen von Werten für jede Wertekombination in den Team- und Positionsspalten zu zählen:
#count occurrences of values for each combination of team and position
df. groupby ([' team ', ' position ']). size ()
team position
AF3
G2
BF 1
G4
dtype: int64
Aus dem Ergebnis können wir sehen:
- Team A und Position F treten dreimal auf.
- Team A und Position G erscheinen zweimal .
Und so weiter.
Beispiel 3: Vorkommen nach mehreren Variablen gruppiert zählen und sortieren
Der folgende Code zeigt, wie Sie mit den Funktionen groupby() und size() das Vorkommen von Werten für jede Wertekombination in den Team- und Positionsspalten zählen und dann nach Anzahl sortieren:
#count occurrences for each combination of team and position and sort
df. groupby ([' team ', ' position ']). size (). sort_values (ascending= False )
team position
BG 4
AF3
G2
BF 1
dtype: int64
Die Ausgabe zeigt die Anzahl jeder Kombination aus Team- und Positionswerten an, sortiert nach Anzahl in absteigender Reihenfolge.
Hinweis : Um in aufsteigender Reihenfolge nach Zahlen zu sortieren, entfernen Sie einfach aufsteigend=False in der Funktion sort_values() .
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in Pandas ausführen:
So zählen Sie eindeutige Werte mit Pandas GroupBy
So wenden Sie eine Funktion auf Pandas Groupby an
So erstellen Sie ein Balkendiagramm aus Pandas GroupBy