Panda's: waarden tellen in een kolom met voorwaarde


U kunt de volgende methoden gebruiken om het aantal waarden in een Pandas DataFrame-kolom met een specifieke voorwaarde te tellen:

Methode 1: Tel waarden in een kolom met voorwaarde

 len(df[df[' col1 ']==' value1 '])

Methode 2: Tel waarden in meerdere kolommen met voorwaarden

 len(df[(df[' col1 ']==' value1 ') & (df[' col2 ']==' value2 ')])

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', 'B', 'B', 'B', 'B'],
                   ' pos ': ['Gu', 'Fo', 'Fo', 'Fo', 'Gu', 'Gu', 'Fo', 'Fo'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28]})

#view DataFrame
print (df)

  team pos points
0 A Gu 18
1 A Fo 22
2 A Fo 19
3 A Fo 14
4 B Gu 14
5 B Gu 11
6 B Fo 20
7 B Fo 28

Voorbeeld 1: Tel waarden in een kolom met voorwaarde

De volgende code laat zien hoe u het aantal waarden in de teamkolom telt waarbij de waarde gelijk is aan „A“:

 #count number of values in team column where value is equal to 'A'
len(df[df[' team ']==' A '])

4

We kunnen zien dat er 4 waarden zijn in de teamkolom waarbij de waarde gelijk is aan “A”.

Voorbeeld 2: Tel waarden in meerdere kolommen met voorwaarden

De volgende code laat zien hoe u het aantal rijen in het DataFrame telt, waarbij de teamkolom gelijk is aan ‚B‘ en de pos- kolom gelijk is aan ‚Gu‘:

 #count rows where team is 'B' and pos is 'Gu'
len(df[(df[' team ']==' B ') & (df[' pos ']==' Gu ')])

2

We kunnen zien dat er twee rijen in het DataFrame zijn die aan beide voorwaarden voldoen.

We kunnen een vergelijkbare syntaxis gebruiken om het aantal regels te tellen dat aan het gewenste aantal voorwaarden voldoet.

De volgende code laat bijvoorbeeld zien hoe u het aantal rijen telt dat aan drie voorwaarden voldoet:

  • het team is gelijk aan ‚B‘
  • pos is gelijk aan ‚Gu‘
  • punten groter zijn dan 12
 #count rows where team is 'B' and pos is 'Gu' and points > 15
len(df[(df[' team ']==' B ') & (df[' pos ']==' Gu ') & (df[' points ']> 12 )])

1

We kunnen zien dat een enkele rij van het DataFrame aan alle drie de voorwaarden voldoet.

Aanvullende bronnen

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

Panda’s: hoe je het verschil tussen twee lijnen kunt vinden
Panda’s: regels verwijderen die een specifieke string bevatten
Panda’s: dubbele rijen in een DataFrame verwijderen

Einen Kommentar hinzufügen

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