Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich Pandas-DataFrames mithilfe der Operatoren „IN' und „NOT IN' effizient filtern?

Wie kann ich Pandas-DataFrames mithilfe der Operatoren „IN' und „NOT IN' effizient filtern?

Barbara Streisand
Freigeben: 2024-12-29 16:22:19
Original
838 Leute haben es durchsucht

How Can I Efficiently Filter Pandas DataFrames Using

Pandas-Datenrahmen mit „In“ und „Nicht In“ filtern: Eine einfachere Lösung

Bei der Arbeit mit Pandas-Datenrahmen ist dies häufig erforderlich um Daten nach bestimmten Kriterien zu filtern. Eine häufige Anforderung besteht darin, Zeilen zu finden, in denen eine bestimmte Spalte mit einem Satz vordefinierter Werte übereinstimmt oder nicht übereinstimmt, ähnlich den SQL-Operatoren „IN“ und „NOT IN“.

Alternative zum Merge- Basierender Ansatz

Traditionell haben einige Benutzer einen zusammenführungsbasierten Ansatz verwendet, um diese Filterung zu erreichen. Obwohl diese Methode funktionsfähig ist, gilt sie als ineffizient und unnötig komplex.

Verwendung von pd.Series.isin

Die ideale Lösung liegt in der Verwendung der Funktion pd.Series.isin. Es bietet einfache Funktionalität sowohl für die „IN“- als auch für die „NICHT IN“-Filterung.

„IN“-Filterung

Zum Filtern von Zeilen, in denen eine bestimmte Spalte mit einem beliebigen Wert in a übereinstimmt Bereitgestellte Liste, verwenden Sie:

something.isin(somewhere)
Nach dem Login kopieren

"NICHT IN" Filtern

Alternativ können Sie zum Filtern von Zeilen, in denen ein Spaltenwert mit keinem Wert in einer bestimmten Liste übereinstimmt, Folgendes verwenden:

~something.isin(somewhere)
Nach dem Login kopieren

Beispielverwendung

Bedenken Sie Folgendes Beispiel:

df = pd.DataFrame({'country': ['US', 'UK', 'Germany', 'China']})

countries_to_keep = ['UK', 'China']

df_in = df[df.country.isin(countries_to_keep)]
df_not_in = df[~df.country.isin(countries_to_keep)]

print(df_in)
print(df_not_in)
Nach dem Login kopieren

Ausgabe:

    country
1        UK
3     China
    country
0        US
2   Germany
Nach dem Login kopieren

Wie gezeigt, bietet pd.Series.isin eine prägnante und effiziente Methode zum Filtern von Pandas-Datenrahmen. Es macht komplizierte zusammenführungsbasierte Ansätze überflüssig und macht den Filterprozess sowohl einfacher als auch leistungsfähiger.

Das obige ist der detaillierte Inhalt vonWie kann ich Pandas-DataFrames mithilfe der Operatoren „IN' und „NOT IN' effizient filtern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage