Die Python-Pandas-Funktion DataFrame.isin() dient dazu, schnell und effizient zu über­prü­fen, ob bestimmte Werte in einem DataFrame vorhanden sind. Besonders nützlich ist die Funktion, wenn man mehrere Werte gleich­zei­tig prüfen möchte.

Web­hos­ting
Das beste Web­hos­ting zum Spit­zen­preis
  • 3x schneller und 60 % günstiger
  • Maximale Ver­füg­bar­keit mit > 99.99 %
  • Nur bei IONOS: Bis zu 500 GB Spei­cher­platz inklusive

Die Syntax der Pandas-isin()-Funktion

Pandas isin() nimmt nur einen Parameter entgegen. Daher ist die grund­le­gen­de Syntax der Funktion sehr einfach und sieht wie folgt aus:

DataFrame.isin(values)
python

Der Parameter values kann eine Python-Liste, ein Dic­tion­a­ry oder ein anderer DataFrame sein und be­inhal­tet die Werte, nach denen im ur­sprüng­li­chen DataFrame gesucht werden soll.

Tipp

Wenn Sie nicht mit Pandas Da­ta­Frames, sondern mit Series arbeiten, gibt es mit Series.isin() eine voll­stän­dig äqui­va­len­te Funktion.

Anwendung der isin()-Funktion

Die An­wen­dungs­mög­lich­kei­ten von isin() sind viel­fäl­tig: Sie können mithilfe der Funktion nicht nur das Vor­han­den­sein von Werten über­prü­fen, sondern auch Ihren DataFrame filtern.

Über­prü­fung auf Vor­han­den­sein von Werten in einer Spalte

Im Folgenden wird ein DataFrame mit In­for­ma­tio­nen über ver­schie­de­ne Personen und deren Wohnorte be­trach­tet.

import pandas as pd
# Beispiel-DataFrame erstellen
data = {
    'Name': ['Alice', 'Bob', 'Charlie', 'David'],
    'Stadt': ['New York', 'Los Angeles', 'Chicago', 'Houston']
}
df = pd.DataFrame(data)
print(df)
python

Der DataFrame sieht fol­gen­der­ma­ß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 ent­spre­chen­den Spalte vorhanden sind. Hierfür wird eine Liste mit Städten erstellt, die überprüft werden sollen, und an­schlie­ßend die Funktion auf der DataFrame-Spalte namens „Stadt“ aus­ge­fü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)
python

Das Ergebnis ist eine Serie von boole­schen 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)
python

Das Ergebnis ist ein DataFrame, der nur noch Zeilen mit den Städten enthält, die auch in der Ver­gleichs­lis­te cities_to_check zugegen sind:

Name    Stadt
2  Charlie  Chicago
3    David  Houston

Über­prü­fung mehrerer Spalten

Um kom­ple­xe­re Fil­ter­ope­ra­tio­nen durch­zu­füh­ren, kann Pandas isin() auch mit Dic­tio­n­a­ries verwendet werden. In folgendem Beispiel sehen Sie, wie man mit einem Dic­tion­a­ry arbeitet, um mehrere Spalten eines Da­ta­Frames gleich­zei­tig zu prüfen. Hierfür wird der ur­sprüng­li­che DataFrame um eine Spalte erweitert und an­schlie­ß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)
python

Der Funk­ti­ons­auf­ruf von isin() liefert in diesem Fall einen DataFrame mit boole­schen Werten, die anzeigen, ob die Be­din­gun­gen in den je­wei­li­gen Spalten erfüllt sind:

Name  Stadt  Alter
0  False  False  False
1  False  False   True
2  False   True  False
3  False   True   True
Zum Hauptmenü