# Hoe DataFrames zoeken met pandas isin()

De Python pandas-functie `DataFrame.isin()` is ontworpen om snel en efficiënt te controleren **of bepaalde waarden in een DataFrame voorkomen**. Deze functie is vooral handig om meerdere waarden tegelijk te controleren.

## Wat is de syntaxis voor pandas `isin()`?

Pandas `isin()` neemt één parameter en ziet er als volgt uit:

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

De parameter `values` kan een **Python-lijst, een Python-woordenboek of een ander DataFrame** zijn. Deze bevat de waarden die u in het DataFrame wilt zoeken.

Tip Als u met pandas Series werkt in plaats van DataFrames, kunt u de gelijkwaardige functie `Series.isin()` gebruiken.

## Hoe gebruik je `isin()` met DataFrames in pandas

Je kunt `isin()` voor verschillende doeleinden gebruiken. Naast het controleren van waarden, kan het ook worden gebruikt om DataFrames te filteren.

### Controleren op waarden in een kolom

Laten we eerst eens kijken naar een DataFrame die informatie bevat over verschillende mensen en waar ze wonen.

```python
import pandas as pd
# Creating a DataFrame
data = {
    'Name': ['Amir', 'Bella', 'Charlize', 'David'],
    'City': ['Nottingham', 'London', 'Cardiff', 'Hull']
}
df = pd.DataFrame(data)
print(df)
```

Het DataFrame ziet er als volgt uit:

```none
Name      City
0    Amir    	Nottingham
1    Bella  	London
2    Charlize   Cardiff
3    David    Hull
```

Nu willen we pandas `isin()` gebruiken om te controleren of de steden in de kolom City voorkomen in een aparte lijst met steden die we hebben gemaakt. Zodra we de lijst met referentiesteden hebben gemaakt, voeren we de functie uit op de kolom ‘City’ van het DataFrame:

```python
# Cities for the list to be compared to
cities_to_check_against = ['Cardiff', 'Hull', 'Middlesbrough']
# Using the isin() method
result = df['City'].isin(cities_to_check_against)
print(result)
```

Het resultaat is een reeks Booleaanse waarden die aangeven of elke stad in de kolom Stad voorkomt in de lijst `cities_to_check_against`:

```none
0    False
1    False
2     True
3     True
Name: City, dtype: bool
```

### Een DataFrame filteren met behulp van `isin()`

Je kunt ook pandas `isin()` gebruiken om een DataFrame te filteren, waarbij alleen de rijen met steden die in de lijst `cities_to_check_against` voorkomen, worden behouden.

```python
# Filtering a DataFrame using isin()
filtered_df = df[df['City'].isin(cities_to_check_against)]
print(filtered_df)
```

Het resultaat is een DataFrame die alleen de rijen bevat met steden die ook in de lijst `cities_to_check_against` staan:

```none
Name    	City
2  Charlize  	Cardiff
3  David  		Hull
```

### Meerdere kolommen in een DataFrame controleren

Voor complexere filterbewerkingen kunt u ook pandas `isin()` met woordenboeken gebruiken. In het volgende voorbeeld ziet u hoe u een woordenboek kunt gebruiken om meerdere kolommen van een DataFrame tegelijk te controleren. Eerst voegen we een kolom toe aan het oorspronkelijke DataFrame en vervolgens gebruiken we `isin()`:

```python
# Creating a DataFrame
data = {
    'Name': ['Amir', 'Bella', 'Charlize', 'David'],
    'City': ['Nottingham', 'London', 'Cardiff', 'Hull'],
    'Age': [25, 30, 35, 40]
}
df = pd.DataFrame(data)
# Dictionary with values that the DataFrame should be checked against
values_to_check_against = {
    'City': ['Cardiff', 'Hull'],
    'Age': [30, 40]
}
# Using isin() with a dictionary
result = df.isin(values_to_check_against)
print(result)
```

In dit geval retourneert het aanroepen `isin()` een DataFrame met Booleaanse waarden, die aangeven of aan de voorwaarden in elke kolom is voldaan:

```none
Name  City  Age
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/nl-be/digitalguide/websites/webontwikkeling/python-pandas-dataframe-isin/](https://www.ionos.com/nl-be/digitalguide/websites/webontwikkeling/python-pandas-dataframe-isin/) for AI/LLM consumption.