Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich die IN- und NOT-IN-Filterung von SQL in Pandas effizient durchführen?
Objektorientierte SQL-ähnliche Filterung in Pandas
Das Filtern von Pandas-Datenrahmen ist eine entscheidende Aufgabe bei der Datenanalyse und dem Verständnis, wie man sie effektiv nutzt SQL-ähnliche Operatoren können diesen Prozess erheblich vereinfachen. Insbesondere werden die IN- und NOT IN-Operatoren häufig zum Auswählen von Zeilen basierend auf Zugehörigkeitskriterien verwendet.
Pandas-Äquivalent von SQLs IN und NOT IN
Um das Äquivalent von zu erreichen Mit dem IN-Operator von SQL in Pandas können Sie die isin()-Methode für eine Serie nutzen. Diese Methode prüft, ob jedes Element in der Serie in einer angegebenen Liste oder Menge enthalten ist. Um beispielsweise einen Datenrahmen basierend auf einer Liste einzubeziehender Länder zu filtern:
df = pd.DataFrame({'country': ['US', 'UK', 'Germany', 'China']}) countries_to_keep = ['UK', 'China'] df[df['country'].isin(countries_to_keep)]
Dies gibt einen Datenrahmen zurück, der nur die Zeilen enthält, in denen die Länderspaltenwerte in der Liste „country_to_keep“ vorhanden sind.
Um das Äquivalent von SQLs NOT IN auszuführen, negieren Sie einfach die isin()-Methode mit dem ~-Operator:
df[~df['country'].isin(countries_to_keep)]
Dies erzeugt a Datenrahmen mit Ausnahme der Zeilen, in denen die Länderspaltenwerte mit der angegebenen Liste übereinstimmen.
Beispiel
Betrachten Sie den folgenden Datenrahmen:
df = pd.DataFrame({'country': ['US', 'UK', 'Germany', 'China']}) countries_to_keep = ['UK', 'China']
Nur zur Auswahl Zeilen mit Ländern in states_to_keep:
df_filtered_in = df[df['country'].isin(countries_to_keep)]
Dies wird resultieren in:
country 1 UK 3 China
Um Zeilen mit Ländern auszuwählen, die nicht in „country_to_keep“ enthalten sind:
df_filtered_not_in = df[~df['country'].isin(countries_to_keep)]
Dies ergibt:
country 0 US 2 Germany
Schlussfolgerung
Die isin()-Methode in Pandas bietet eine bequeme und effiziente Möglichkeit, Filter im IN- und NOT-IN-Stil zu implementieren ein leistungsstarkes Tool zum Bearbeiten von Datenrahmen basierend auf Mitgliedschaftskriterien.
Das obige ist der detaillierte Inhalt vonWie kann ich die IN- und NOT-IN-Filterung von SQL in Pandas effizient durchführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!