Panda's: maak een frequentietabel op basis van meerdere kolommen


U kunt de volgende basissyntaxis gebruiken om een frequentietabel in panda’s te maken op basis van meerdere kolommen:

 df. value_counts ([' column1 ',' column2 '])

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: Maak een frequentietabel in Pandas op basis van meerdere kolommen

Stel dat we het volgende panda’s DataFrame hebben dat informatie bevat over de teamnaam, positie en punten die zijn gescoord door verschillende basketbalspelers:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' position ': ['G', 'G', 'G', 'F', 'G', 'G', 'F', 'F'],
                   ' points ': [24, 33, 20, 15, 16, 16, 29, 25]})

#view DataFrame
print (df)

  team position points
0 AG 24
1 AG 33
2 AG 20
3 AF15
4 BG 16
5 BG 16
6 BF 29
7 BF 25

We kunnen de functie value_counts() gebruiken om een frequentietabel te maken die het voorkomen van elke combinatie van waarden in de team- en positiekolommen toont:

 #count frequency of values in team and position columns
df. value_counts ([' team ',' position '])

team position
GA 3
BF 2
      G2
AF1
dtype: int64

Uit de resultaten kunnen we zien:

  • Er zijn 3 exemplaren van team A en positie G
  • Er zijn 2 exemplaren van team B en positie F
  • Er zijn 2 exemplaren van team B en positie G
  • Er is 1 keer sprake van team A en positie F

Merk op dat we reset_index() kunnen gebruiken om in plaats daarvan een DataFrame te retourneren:

 #count frequency of values in team and position columns and return DataFrame
df. value_counts ([' team ',' position ']). reset_index ()

        team position 0
0 A G 3
1 B F 2
2 B G 2
3 A F 1

We kunnen de functie rename() gebruiken om de kolom met de tellingen te hernoemen:

 #get frequency of values in team and position column and rename count column
df. value_counts ([' team ',' position ']). reset_index (). rename (columns={0:' count '})

        team position count
0 A G 3
1 B F 2
2 B G 2
3 A F 1

Het eindresultaat is een DataFrame dat de frequentie van elke unieke combinatie van waarden in de kolommen Team en Positie bevat.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in panda’s kunt uitvoeren:

Panda’s: GroupBy gebruiken en waardetellingen
Panda’s: GroupBy gebruiken met het aantal bakken
Panda’s: waarden tellen in een kolom met voorwaarde

Einen Kommentar hinzufügen

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