# La méthode Pandas isin() pour filtrer les DataFrames

La fonction Python Pandas `DataFrame.isin()` sert à vérifier rapidement et efficacement **si certaines valeurs sont présentes dans un DataFrame**. Cette fonction est particulièrement utile lorsqu’on veut vérifier plusieurs valeurs en même temps.

## La syntaxe de la fonction `isin()` de Pandas

Pandas `isin()` ne prend qu’un seul paramètre. Par conséquent, la syntaxe de base de la fonction est très simple et se présente comme suit :

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

Le paramètre `values` peut être une **liste Python, un dictionnaire Python ou un autre DataFrame** et contient les valeurs à rechercher dans le DataFrame original.

Conseil Si vous ne travaillez pas avec les DataFrames de Pandas, mais plutôt avec des Series Pandas, il existe une fonction équivalente : `Series.isin()`.

## Comment utiliser la fonction `isin()` de Pandas ?

Les possibilités d’utilisation de `isin()` sont multiples : à l’aide de cette fonction, vous pouvez non seulement vérifier la présence de valeurs, mais aussi filtrer votre DataFrame.

### Vérifier la présence de valeurs dans une colonne

Nous allons maintenant examiner un DataFrame contenant des informations sur différentes personnes et leur ville de résidence.

```python
import pandas as pd
# Créer un exemple de DataFrame
data = {
    'Nom' : ['Alice', 'Bob', 'Charlie', 'David'],
    'Ville' : ['New York', 'Los Angeles', 'Chicago', 'Houston']
}
df = pd.DataFrame(data)
print(df)
```

Le DataFrame se présente comme suit :

```none
Nom      Ville
0   Alice     New York
1     Bob  Los Angeles
2  Charlie     Chicago
3   David    Houston
```

On veut ensuite vérifier avec la méthode `isin()` de Pandas si certaines villes sont présentes dans la colonne correspondante. Pour cela, on crée une liste appelée « cities\_to\_check » (traduit par « Villes à vérifier »), puis on exécute la fonction sur la colonne DataFrame nommée « Ville » :

```python
# Villes à vérifier
cities_to_check = ['Chicago', 'Houston', 'Miami']
# Application de la méthode isin()
result = df['Ville'].isin(cities_to_check)
print(result)
```

Le résultat est une série de valeurs booléennes qui indiquent si la ville en question est présente dans la liste des villes à vérifier :

```none
0 False
1 False
2 True
3 True
Nom : ville, dtype: bool
```

### Filtrer des valeurs dans le DataFrame avec `isin()`

Le `isin()` de Pandas peut aussi être utilisé pour filtrer le DataFrame afin de ne conserver que les lignes contenant les villes présentes dans `cities_to_check`.

```python
# Filtrer le DataFrame en se basant sur isin()
filtered_df = df[df['Ville'].isin(cities_to_check)]
print(filtered_df)
```

Le résultat est un DataFrame qui ne contient plus que des lignes avec les villes qui sont également présentes dans la liste de comparaison `cities_to_check` :

```none
Nom    Ville
2  Charlie   Chicago
3    David   Houston
```

### Vérifier plusieurs colonnes

Pour effectuer des opérations de filtrage plus complexes, `isin()` de Pandas peut aussi être utilisé avec des dictionnaires Python. L’exemple suivant montre comment travailler avec un dictionnaire pour vérifier simultanément plusieurs colonnes d’un DataFrame. Pour cela, le DataFrame original est étendu d’une colonne et `isin()` est ensuite utilisé :

```python
# Créer un exemple de DataFrame
data = {
    'Nom' : ['Alice', 'Bob', 'Charlie', 'David'],
    'Ville' : ['New York', 'Los Angeles', 'Chicago', 'Houston'],
    'Âge' : [25, 30, 35, 40]
}
df = pd.DataFrame(data)
# Dictionnaire des valeurs à vérifier
values_to_check = {
    'Ville' : ['Chicago', 'Houston'],
    'Âge' : [30, 40]
}
# Application de isin() avec un dictionnaire
result = df.isin(values_to_check)
print(result)
```

Dans ce cas, l’appel de fonction de `isin()` renvoie un DataFrame avec des valeurs booléennes qui indiquent si les conditions sont remplies dans les colonnes respectives :

```none
Nom    Ville    Âge
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/fr-be/digitalguide/sites-internet/developpement-web/python-pandas-dataframe-isin/](https://www.ionos.com/fr-be/digitalguide/sites-internet/developpement-web/python-pandas-dataframe-isin/) for AI/LLM consumption.