Pandas isin() zum Durchsuchen von DataFrames
Die Python-Pandas-Funktion DataFrame.isin()
dient dazu, schnell und effizient zu überprüfen, ob bestimmte Werte in einem DataFrame vorhanden sind. Besonders nützlich ist die Funktion, wenn man mehrere Werte gleichzeitig prüfen möchte.
- Flexibel: Hosting, das jedem Website-Traffic standhält
- Verlässlich: Inklusive 24/7-Support und persönlicher Beratung
- Sicher: Kostenloses SSL-Zertifikat, DDoS-Schutz und Backups
Die Syntax der Pandas-isin()
-Funktion
Pandas isin()
nimmt nur einen Parameter entgegen. Daher ist die grundlegende Syntax der Funktion sehr einfach und sieht wie folgt aus:
DataFrame.isin(values)
pythonDer Parameter values
kann eine Python-Liste, ein Dictionary oder ein anderer DataFrame sein und beinhaltet die Werte, nach denen im ursprünglichen DataFrame gesucht werden soll.
Wenn Sie nicht mit Pandas DataFrames, sondern mit Series arbeiten, gibt es mit Series.isin()
eine vollständig äquivalente Funktion.
Anwendung der isin()
-Funktion
Die Anwendungsmöglichkeiten von isin()
sind vielfältig: Sie können mithilfe der Funktion nicht nur das Vorhandensein von Werten überprüfen, sondern auch Ihren DataFrame filtern.
Überprüfung auf Vorhandensein von Werten in einer Spalte
Im Folgenden wird ein DataFrame mit Informationen über verschiedene Personen und deren Wohnorte betrachtet.
import pandas as pd
data = {
'Name': ['Alice', 'Bob', 'Charlie', 'David'],
'Stadt': ['New York', 'Los Angeles', 'Chicago', 'Houston']
}
df = pd.DataFrame(data)
print(df)
pythonDer DataFrame sieht folgendermaßen aus:
Name Stadt
0 Alice New York
1 Bob Los Angeles
2 Charlie Chicago
3 David Houston
Es soll nun mit Pandas isin()
überprüft werden, ob bestimmte Städte in der entsprechenden Spalte vorhanden sind. Hierfür wird eine Liste mit Städten erstellt, die überprüft werden sollen, und anschließend die Funktion auf der DataFrame-Spalte namens „Stadt“ ausgeführt:
# Städte, die überprüft werden sollen
cities_to_check = ['Chicago', 'Houston', 'Miami']
# Anwendung der isin()-Methode
result = df['Stadt'].isin(cities_to_check)
print(result)
pythonDas Ergebnis ist eine Serie von booleschen Werten, die angibt, ob die jeweilige Stadt in der Liste cities_to_check
vorhanden ist:
0 False
1 False
2 True
3 True
Name: Stadt, dtype: bool
Filterung von DataFrame basierend auf isin()
Pandas isin()
kann auch genutzt werden, um den DataFrame zu filtern und nur die Zeilen zu behalten, in denen die Städte aus cities_to_check
enthalten sind.
# DataFrame filtern basierend auf isin()
filtered_df = df[df['Stadt'].isin(cities_to_check)]
print(filtered_df)
pythonDas Ergebnis ist ein DataFrame, der nur noch Zeilen mit den Städten enthält, die auch in der Vergleichsliste cities_to_check
zugegen sind:
Name Stadt
2 Charlie Chicago
3 David Houston
Überprüfung mehrerer Spalten
Um komplexere Filteroperationen durchzuführen, kann Pandas isin()
auch mit Dictionaries verwendet werden. In folgendem Beispiel sehen Sie, wie man mit einem Dictionary arbeitet, um mehrere Spalten eines DataFrames gleichzeitig zu prüfen. Hierfür wird der ursprüngliche DataFrame um eine Spalte erweitert und anschließend isin()
genutzt:
# Beispiel-DataFrame erstellen
data = {
'Name': ['Alice', 'Bob', 'Charlie', 'David'],
'Stadt': ['New York', 'Los Angeles', 'Chicago', 'Houston'],
'Alter': [25, 30, 35, 40]
}
df = pd.DataFrame(data)
# Dictionary mit Werten, die überprüft werden sollen
values_to_check = {
'Stadt': ['Chicago', 'Houston'],
'Alter': [30, 40]
}
# Anwendung von isin() mit einem Dictionary
result = df.isin(values_to_check)
print(result)
pythonDer Funktionsaufruf von isin()
liefert in diesem Fall einen DataFrame mit booleschen Werten, die anzeigen, ob die Bedingungen in den jeweiligen Spalten erfüllt sind:
Name Stadt Alter
0 False False False
1 False False True
2 False True False
3 False True True