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.

Hébergement Web
Hébergement Web flexible, performant et sûr
  • Certificat SSL et protection DDoS
  • Sauvegarde et restauration des données
  • Assistance 24/7 et conseiller personnel

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 :

DataFrame.isin(values)
python

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.

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

Le DataFrame se présente comme suit :

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

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

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 :

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.

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

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 :

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

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

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 :

Nom    Ville    Âge
0  False   False  False
1  False   False   True
2  False    True  False
3  False    True   True
Cet article vous a-t-il été utile ?
Aller au menu principal