Panda's: hoe gebruik je groupby() met size()
U kunt de volgende methoden gebruiken met de functies groupby() en size() in panda’s om het aantal keren dat een groep voorkomt te tellen:
Methode 1: tel voorvallen gegroepeerd op een variabele
df. groupby (' var1 '). size ()
Methode 2: Tel gebeurtenissen gegroepeerd op meerdere variabelen
df. groupby ([' var1 ', ' var2 ']). size ()
Methode 3: Tel voorvallen gegroepeerd op meerdere variabelen en gesorteerd op nummer
df. groupby ([' var1 ', ' var2 ']). size (). sort_values (ascending= False )
De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken met de volgende panda’s DataFrame:
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
Voorbeeld 1: tel voorvallen gegroepeerd op een variabele
De volgende code laat zien hoe u de functies groupby() en size() kunt gebruiken om het voorkomen van waarden in de teamkolom te tellen:
#count occurrences of each value in team column
df. groupby (' team '). size ()
team
AT 5
B5
dtype: int64
Uit het resultaat kunnen we zien dat de waarden A en B beide 5 keer voorkomen in de teamkolom .
Voorbeeld 2: Tel gebeurtenissen gegroepeerd op meerdere variabelen
De volgende code laat zien hoe u de functies groupby() en size() gebruikt om het voorkomen van waarden te tellen voor elke combinatie van waarden in de team- en positiekolommen :
#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
Uit het resultaat kunnen we zien:
- Team A en positie F verschijnen 3 keer.
- Team A en positie G komen tweemaal voor.
Enzovoort.
Voorbeeld 3: voorvallen tellen gegroepeerd op verschillende variabelen en sorteren
De volgende code laat zien hoe u de functies groupby() en size() gebruikt om het voorkomen van waarden te tellen voor elke combinatie van waarden in de team- en positiekolommen , en vervolgens te sorteren op aantal:
#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
De uitvoer toont het aantal van elke combinatie van team- en positiewaarden , gesorteerd op aantal in aflopende volgorde.
Opmerking : om in oplopende volgorde op nummer te sorteren, verwijdert u eenvoudigweg oplopend=False in de functie sort_values() .
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in panda’s kunt uitvoeren:
Hoe u unieke waarden kunt tellen met Pandas GroupBy
Een functie toepassen op Panda’s Groupby
Hoe u een staafdiagram kunt maken vanuit Pandas GroupBy