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.
- 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)
pythonLe paramètre values
peut être une liste Python, un dictionnaire Python ou un autre DataFrame et contient les valeurs à rechercher dans le DataFrame original.
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)
pythonLe 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)
pythonLe 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)
pythonLe 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)
pythonDans 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