Panda's: rijen filteren op basis van waarden in een lijst


U kunt de volgende basissyntaxis gebruiken om rijen in een Panda DataFrame te filteren die een waarde in een lijst bevatten:

 df[df[' team ']. isin ([' A ',' B ',' D '])]

In dit specifieke voorbeeld wordt het DataFrame gefilterd zodat het alleen rijen bevat waarvan de Team- kolom gelijk is aan de waarde A , B of D.

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

Voorbeeld: filter het Pandas DataFrame op basis van lijstwaarden

Stel dat we het volgende panda’s DataFrame hebben dat informatie bevat over verschillende basketbalspelers:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'B', 'B', 'C', 'C', 'D', 'D'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})
                   
#view DataFrame
print (df)

  team points assists rebounds
0 A 18 5 11
1 to 22 7 8
2 B 19 7 10
3 B 14 9 6
4 C 14 12 6
5 C 11 9 5
6 D 20 9 9
7 D 28 4 12

Stel nu dat we het DataFrame willen filteren zodat het alleen rijen bevat waarvan de waarde in de teamkolom gelijk is aan A , B of D.

We kunnen hiervoor de volgende syntaxis gebruiken:

 #filter for rows where team is equal to 'A', 'B' or 'D'
df[df[' team ']. isin ([' A ',' B ',' D '])]

	team points assists rebounds
0 A 18 5 11
1 to 22 7 8
2 B 19 7 10
3 B 14 9 6
6 D 20 9 9
7 D 28 4 12

Houd er rekening mee dat het gefilterde DataFrame alleen rijen bevat waarvan de waarde in de kolom Team gelijk is aan A , B of D.

Merk ook op dat u de functie isin() kunt gebruiken om op numerieke waarden te filteren.

We kunnen bijvoorbeeld de volgende code gebruiken om rijen te filteren waarbij de assists- kolom gelijk is aan 5 of 9 :

 #filter for rows where assists is equal to 5 or 9
df[df[' assists ']. isin ([ 5,9 ] )]


        team points assists rebounds
0 A 18 5 11
3 B 14 9 6
5 C 11 9 5
6 D 20 9 9

Houd er rekening mee dat het gefilterde DataFrame alleen rijen bevat met een waarde in de kolom Assists die gelijk is aan 5 of 9 .

Opmerking : u kunt hier de volledige documentatie voor de pandas isin()- functie vinden.

Aanvullende bronnen

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

Panda’s: filter toevoegen aan draaitabel
Panda’s: Filteren op ‚Bevat niet‘
Panda’s: rijen filteren die een specifieke string bevatten

Einen Kommentar hinzufügen

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