Panda's: hoe gebruik je isin voor meerdere kolommen


U kunt de volgende methoden gebruiken met de pandas isin() -functie om te filteren op basis van meerdere kolommen in een pandas DataFrame:

Methode 1: Filter wanneer meerdere kolommen gelijk zijn aan specifieke waarden

 df = df[df[[' team ', ' position ']]. isin ([' A ',' Guard ']). all (axis= 1 )]

Dit specifieke voorbeeld filtert het DataFrame voor rijen waarbij de teamkolom gelijk is aan ‚A‘ en de positiekolom gelijk is aan ‚Bewaker‘.

Methode 2: Filter waarbij ten minste één kolom gelijk is aan een specifieke waarde

 df = df[df[[' team ', ' position ']]. isin ([' A ',' Guard ']). any (axis= 1 )]

Dit specifieke voorbeeld filtert het DataFrame voor rijen waarbij de teamkolom gelijk is aan ‚A‘ of de positiekolom gelijk is aan ‚Bewaker‘.

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'],
                   ' position ': ['Guard', 'Guard', 'Forward', 'Forward',
                                'Guard', 'Guard', 'Forward', 'Forward'],
                   ' points ': [11, 18, 10, 22, 26, 35, 19, 12]})
                   
#view DataFrame
print (df)

  team position points
0 A Guard 11
1 A Guard 18
2 A Forward 10
3 A Forward 22
4 B Guard 26
5 B Guard 35
6 B Forward 19
7 B Forward 12

Voorbeeld 1: Filter waarbij meerdere kolommen gelijk zijn aan specifieke waarden

We kunnen de volgende syntaxis gebruiken om het DataFrame te filteren, zodat het alleen rijen bevat waarbij de teamkolom gelijk is aan ‚A‘ en de positiekolom gelijk is aan ‚Bewaker‘.

 #filter rows where team column is 'A' and position column is 'Guard'
df = df[df[[' team ', ' position ']]. isin ([' A ',' Guard ']). all (axis= 1 )]

#view filtered DataFrame
print (df)

  team position points
0 A Guard 11
1 A Guard 18

Houd er rekening mee dat alleen rijen waarin de teamkolom gelijk is aan ‚A‘ en de positiekolom gelijk is aan ‚Guard‘ in het gefilterde DataFrame blijven.

Voorbeeld 2: Filter waarbij minimaal één kolom gelijk is aan een specifieke waarde

We kunnen de volgende syntaxis gebruiken om het DataFrame te filteren zodat het alleen rijen bevat waarbij de teamkolom gelijk is aan ‚A‘ of de positiekolom gelijk is aan ‚Bewaker‘.

 #filter rows where team column is 'A' or position column is 'Guard'
df = df[df[[' team ', ' position ']]. isin ([' A ',' Guard ']). any (axis= 1 )]

#view filtered DataFrame
print (df)

  team position points
0 A Guard 11
1 A Guard 18
2 A Forward 10
3 A Forward 22
4 B Guard 26
5 B Guard 35

Houd er rekening mee dat alleen rijen waarbij de teamkolom gelijk is aan ‚A‘ of de positiekolom gelijk is aan ‚Guard‘ in het gefilterde DataFrame blijven.

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