Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich die Funktion „isin' von Pandas verwenden, um die Operatoren „IN' und „NOT IN' von SQL nachzuahmen?

Wie kann ich die Funktion „isin' von Pandas verwenden, um die Operatoren „IN' und „NOT IN' von SQL nachzuahmen?

Susan Sarandon
Susan SarandonOriginal
2024-12-21 22:25:22166Durchsuche

How Can I Use Pandas' `isin` Function to Mimic SQL's `IN` and `NOT IN` Operators?

Fragen Sie Pandas DataFrames mit der Leistungsfähigkeit von SQLs IN und NOT IN ab

Das Filtern von Daten in Pandas DataFrames ist eine häufige Aufgabe in der Datenverarbeitung. Pandas bietet verschiedene Methoden, um dies zu erreichen, einschließlich der intuitiven isin-Funktion. Dieser Artikel zeigt, wie Sie isin nutzen können, um Daten zu filtern und dabei die IN- und NOT IN-Operatoren von SQL nachzuahmen.

Das Problem verstehen

Die IN- und NOT IN-Operatoren von SQL ermöglichen Ihnen dies Filtern Sie Daten basierend darauf, ob ein Wert in einer bestimmten Liste enthalten oder aus dieser ausgeschlossen ist. Diese Funktionalität ist wichtig, um bestimmte Datensätze zu isolieren oder unerwünschte Daten zu entfernen.

Verwenden von isin zum Filtern von Daten

Pandas bietet die isin-Funktion an, die auf Serienobjekte angewendet wird. Es gibt eine boolesche Maske zurück, die angibt, ob jedes Element in der Serie mit einem Wert in einer bereitgestellten Liste oder einem Array übereinstimmt.

IN-Filterung

Um eine IN-Operation auszuführen, übergeben Sie einfach Die Liste der Werte, die Sie mit der isin-Funktion abgleichen möchten, mit der folgenden Syntax:

something.isin(somewhere)

NOT IN Filtern

Um eine NOT IN-Operation durchzuführen, verwenden Sie den Negationsoperator ~ vor der isin-Funktion:

~something.isin(somewhere)

Arbeitsbeispiel

Betrachten Sie den folgenden DataFrame df und eine Liste der zu behaltenden Länder die Zeilen, in denen das Land in „country_to_keep“ enthalten ist:

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

Ausgabe:

df[df.country.isin(countries_to_keep)]

So finden Sie die Zeilen, in denen das Land nicht in „country_to_keep“ enthalten ist:

    country
1        UK
3     China

Ausgabe:

df[~df.country.isin(countries_to_keep)]

Vorteile der Verwendung isin
    country
0        US
2   Germany

Prägnanz:
    Die isin-Funktion bietet eine prägnante Möglichkeit, IN- und NOT-IN-Filterung durchzuführen, wodurch der Bedarf an kompliziertem Code reduziert wird.
  • Flexibilität:
  • isin kann mit jeder Art von Serie verwendet werden, einschließlich Zeichenfolgen, Ganzzahlen und Objekte.
  • Effizienz:
  • isin nutzt optimierte Algorithmen zur Durchführung der Filterung, was es auch für große Datensätze effizient macht.
  • Durch das Verständnis und die Nutzung der isin-Funktion können Sie kann Pandas DataFrames effektiv basierend auf den Werten in Ihren angegebenen Listen oder Arrays filtern und Ihre Datenverarbeitungsaufgaben mit der Leistungsfähigkeit von SQLs IN und NOT IN unterstützen Operatoren.

Das obige ist der detaillierte Inhalt vonWie kann ich die Funktion „isin' von Pandas verwenden, um die Operatoren „IN' und „NOT IN' von SQL nachzuahmen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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