So zählen sie gruppensichtungen bei pandas
Oftmals könnte es für Sie von Interesse sein, die Anzahl der Beobachtungen pro Gruppe in einem Pandas-DataFrame zu zählen.
Glücklicherweise ist dies mit den Funktionen groupby() und size() mit der folgenden Syntax einfach zu bewerkstelligen:
df. groupby (' column_name '). size ()
In diesem Tutorial werden mehrere Beispiele für die praktische Verwendung dieser Funktion anhand des folgenden Datenrahmens erläutert:
import numpy as np import pandas as pd #create pandas DataFrame df = pd. DataFrame ({'team': ['A', 'A', 'B', 'B', 'B', 'C', 'C'], 'division':['E', 'W', 'E', 'E', 'W', 'W', 'E'], 'rebounds': [11, 8, 7, 6, 6, 5, 12]}) #display DataFrame print (df) team division rebounds 0 AE 11 1 AW 8 2 BE 7 3 BE 6 4 BW 6 5 CW 5 6 CE 12
Beispiel 1: Zählen nach einer Variablen
Der folgende Code zeigt, wie die Gesamtzahl der Beobachtungen pro Team gezählt wird:
#count total observations by variable 'team' df. groupby (' team '). size () team At 2 B 3 C 2 dtype: int64
Aus dem Ergebnis können wir Folgendes erkennen:
- Team A hat 2 Beobachtungen
- Team B hat 3 Beobachtungen
- Team C hat 2 Beobachtungen
Beachten Sie, dass der vorangehende Code eine Serie erzeugt. In den meisten Fällen möchten wir mit einem DataFrame arbeiten, daher können wir stattdessen die Funktion reset_index() verwenden, um einen DataFrame zu erstellen:
df. groupby (' team '). size (). reset_index (name=' obs ') team obs 0 to 2 1 B 3 2 C 2
Beispiel 2: Zählen und Sortieren nach einer Variablen
Wir können auch die Funktion sort_values() verwenden, um die Anzahl der Gruppen zu sortieren.
Wir können „ascending=False“ angeben, um die Anzahl der Gruppen vom größten zum kleinsten zu sortieren, oder „ascending=True“ , um vom kleinsten zum größten zu sortieren:
df. groupby (' team '). size (). reset_index (name=' obs '). sort_values ([' obs '], ascending= True ) team obs 0 to 2 2 C 2 1 B 3
Beispiel 3: Zählen nach mehreren Variablen
Wir können auch die Anzahl der Beobachtungen zählen, gruppiert nach mehreren Variablen in einem Pandas-DataFrame:
#count observations grouped by team and division df. groupby ([' team ',' division ']). size (). reset_index (name=' obs ') team division obs 0 A E 1 1 A W 1 2 B E 2 3 B W 1 4 C E 1 5 C W 1
Aus dem Ergebnis können wir Folgendes erkennen:
- 1 Beobachtung gehört Team A und Division E
- 1 Beobachtung gehört Team A und Division W
- 2 Beobachtungen gehören zu Team B und Division E
- 1 Beobachtung gehört der Mannschaft B und der Division W
- 1 Beobachtung gehört Team C und Division E
- 1 Beobachtung gehört der Mannschaft C und der Division W
Zusätzliche Ressourcen
So berechnen Sie die Summe der Spalten in Pandas
So berechnen Sie den Durchschnitt der Spalten in Pandas
So ermitteln Sie den Maximalwert von Spalten in Pandas