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

Einen Kommentar hinzufügen

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