Pandas: so verwenden sie isin für mehrere spalten
Sie können die folgenden Methoden mit der Pandas-Funktion isin() verwenden, um basierend auf mehreren Spalten in einem Pandas-DataFrame zu filtern:
Methode 1: Filtern, wenn mehrere Spalten bestimmten Werten entsprechen
df = df[df[[' team ', ' position ']]. isin ([' A ',' Guard ']). all (axis= 1 )]
In diesem speziellen Beispiel wird der DataFrame nach Zeilen gefiltert, in denen die Teamspalte „A“ und die Positionsspalte „Guard“ entspricht.
Methode 2: Filtern Sie, wobei mindestens eine Spalte einem bestimmten Wert entspricht
df = df[df[[' team ', ' position ']]. isin ([' A ',' Guard ']). any (axis= 1 )]
In diesem speziellen Beispiel wird der DataFrame nach Zeilen gefiltert, in denen die Teamspalte „A“ oder die Positionsspalte „Guard“ entspricht.
Die folgenden Beispiele zeigen, wie jede Methode in der Praxis mit dem folgenden Pandas DataFrame verwendet wird:
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
Beispiel 1: Filtern, bei dem mehrere Spalten bestimmten Werten entsprechen
Wir können die folgende Syntax verwenden, um den DataFrame so zu filtern, dass er nur Zeilen enthält, in denen die Teamspalte „A“ und die Positionsspalte „Guard“ entspricht.
#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
Beachten Sie, dass nur Zeilen im gefilterten DataFrame verbleiben, in denen die Teamspalte „A“ und die Positionsspalte „Guard“ entspricht.
Beispiel 2: Filtern, bei dem mindestens eine Spalte einem bestimmten Wert entspricht
Wir können die folgende Syntax verwenden, um den DataFrame so zu filtern, dass er nur Zeilen enthält, in denen die Teamspalte „A“ oder die Positionsspalte „Guard“ entspricht.
#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
Beachten Sie, dass nur Zeilen im gefilterten DataFrame verbleiben, in denen die Teamspalte „A“ oder die Positionsspalte „Guard“ entspricht.
Hinweis : Die vollständige Dokumentation für die Pandas-Funktion isin() finden Sie hier .
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in Pandas ausführen:
Pandas: So fügen Sie einen Filter zur Pivot-Tabelle hinzu
Pandas: So filtern Sie „Enthält nicht“
Pandas: So filtern Sie Zeilen, die eine bestimmte Zeichenfolge enthalten