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
text

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
text

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
text

Ü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
text

Reviewer

Zum Hauptmenü