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