Pandas: nach spalte filtern, die nicht bestimmten werten entspricht
Sie können die folgenden Methoden verwenden, um einen Pandas-DataFrame zu filtern, bei dem eine Spalte nicht bestimmten Werten entspricht:
Methode 1: Filtern Sie, wenn die Spalte nicht einem bestimmten Wert entspricht
#filter rows where team column is not equal to 'Nets' df_filtered = df[df[' team '] != ' Nets ']
Methode 2: Filtern, wenn die Spalte nicht mehreren spezifischen Werten entspricht
#filter rows where team column is not equal to 'Nets', 'Mavs' or 'Kings' df_filtered = df[ ~ df[' team ']. isin ([' Nets ', ' Mavs ', ' Kings '])]
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 ': ['Mavs', 'Mavs', 'Nets', 'Nets', 'Heat', 'Heat', 'Kings'], ' points ': [22, 28, 35, 34, 29, 28, 23]}) #view DataFrame print (df) team points 0 Mavs 22 1 Mavs 28 2 Nets 35 3 Nets 34 4 Heat 29 5 Heat 28 6 Kings 23
Beispiel 1: Filtern, bei dem die Spalte nicht 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 nicht „Nets“ entspricht:
#filter rows where team column is not equal to 'Nets' df_filtered = df[df[' team '] != ' Nets '] #view filtered DataFrame print (df_filtered) team points 0 Mavs 22 1 Mavs 28 4 Heat 29 5 Heat 28 6 Kings 23
Beachten Sie, dass jede Zeile, in der der Teamname „Nets“ lautete, aus dem DataFrame gefiltert wurde.
Hinweis : Das Symbol != steht in Pandas für „ungleich“.
Beispiel 2: Filtern, bei dem die Spalte nicht mehreren spezifischen Werten entspricht
Wir können die folgende Syntax verwenden, um den DataFrame so zu filtern, dass er nur Zeilen enthält, in denen die Teamspalte nicht „Nets“, „Mavs“ oder „Kings“ entspricht:
#filter rows where team column is not equal to 'Nets', 'Mavs' or 'Kings' df_filtered = df[ ~ df[' team ']. isin ([' Nets ', ' Mavs ', ' Kings '])] #view filtered DataFrame print (df_filtered) team points 4 Heat 29 5 Heat 28
Beachten Sie, dass jede Zeile, in der der Teamname „Nets“, „Mavs“ oder „Kings“ war, aus dem DataFrame gefiltert wurde.
Hinweis : Das Symbol ~ steht in Pandas für „Nein“.
Dokumentation : 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 Panda-Aufgaben 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