Hoe groepswaarnemingen bij panda's te tellen
Vaak ben je misschien geïnteresseerd in het tellen van het aantal observaties per groep in een panda’s DataFrame.
Gelukkig is dit eenvoudig te doen met behulp van de functies groupby() en size() met de volgende syntaxis:
df. groupby (' column_name '). size ()
In deze tutorial worden verschillende voorbeelden van praktisch gebruik van deze functie uitgelegd met behulp van het volgende dataframe:
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
Voorbeeld 1: tellen met een variabele
De volgende code laat zien hoe u het totale aantal observaties per team kunt tellen:
#count total observations by variable 'team' df. groupby (' team '). size () team At 2 B 3 C 2 dtype: int64
Uit het resultaat kunnen we zien dat:
- Team A heeft 2 observaties
- Team B heeft 3 observaties
- Team C heeft 2 observaties
Merk op dat de voorgaande code een reeks produceert. In de meeste gevallen willen we met een DataFrame werken, dus kunnen we in plaats daarvan de functie reset_index() gebruiken om een DataFrame te produceren:
df. groupby (' team '). size (). reset_index (name=' obs ') team obs 0 to 2 1 B 3 2 C 2
Voorbeeld 2: tellen en sorteren op een variabele
We kunnen ook de functie sort_values() gebruiken om het aantal groepen te sorteren.
We kunnen oplopend=False specificeren om het aantal groepen van groot naar klein te sorteren, of oplopend=Waar om van klein naar groot te sorteren:
df. groupby (' team '). size (). reset_index (name=' obs '). sort_values ([' obs '], ascending= True ) team obs 0 to 2 2 C 2 1 B 3
Voorbeeld 3: Tellen met meerdere variabelen
We kunnen ook het aantal waarnemingen tellen, gegroepeerd op verschillende variabelen in een Panda 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
Uit het resultaat kunnen we zien dat:
- 1 observatie behoort tot team A en divisie E
- 1 waarneming behoort tot team A en divisie W
- 2 waarnemingen behoren tot team B en divisie E
- 1 waarneming behoort tot team B en divisie W
- 1 observatie behoort tot team C en divisie E
- 1 waarneming behoort tot team C en divisie W
Aanvullende bronnen
Hoe de som van kolommen in Panda’s te berekenen
Hoe het gemiddelde van kolommen in Panda’s te berekenen
Hoe u de maximale waarde van kolommen in Panda’s kunt vinden