# 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.

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

```python
DataFrame.isin(values)
```

Der 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.

Tipp 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.

```python
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)
```

Der DataFrame sieht folgendermaßen aus:

```none
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:

```python
# 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)
```

Das Ergebnis ist eine Serie von booleschen Werten, die angibt, ob die jeweilige Stadt in der Liste `cities_to_check` vorhanden ist:

```none
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.

```python
# DataFrame filtern basierend auf isin()
filtered_df = df[df['Stadt'].isin(cities_to_check)]
print(filtered_df)
```

Das Ergebnis ist ein DataFrame, der nur noch Zeilen mit den Städten enthält, die auch in der Vergleichsliste `cities_to_check` zugegen sind:

```none
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:

```python
# 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)
```

Der Funktionsaufruf von `isin()` liefert in diesem Fall einen DataFrame mit booleschen Werten, die anzeigen, ob die Bedingungen in den jeweiligen Spalten erfüllt sind:

```none
Name  Stadt  Alter
0  False  False  False
1  False  False   True
2  False   True  False
3  False   True   True
```


This is a markdown version of: [https://www.ionos.com/de-ch/digitalguide/websites/web-entwicklung/python-pandas-dataframe-isin/](https://www.ionos.com/de-ch/digitalguide/websites/web-entwicklung/python-pandas-dataframe-isin/) for AI/LLM consumption.