Détecter les doublons (duplicated())
La fonction duplicated() de Pandas permet d’identifier les lignes du DataFrame qui sont des doublons, c’est-à-dire celles qui ont exactement les mêmes valeurs que d’autres lignes. Elle retourne un tableau booléen où chaque valeur indique si la ligne correspondante est un doublon (True) ou non (False). Par défaut, duplicated() compare toutes les colonnes, mais il est possible de spécifier un sous-ensemble de colonnes à analyser avec l’argument subset. Cela permet de détecter et de gérer efficacement les doublons dans les données, ce qui est essentiel pour garantir l’intégrité des jeux de données avant de les utiliser pour des analyses ou des modèles de machine learning.
Fonctions :
-
duplicated()
La fonction duplicated() permet de détecter les lignes du DataFrame qui sont des doublons (c'est-à-dire identiques aux lignes précédentes). Elle renvoie une série booléenne, où True indique que la ligne est un doublon et False indique que la ligne est unique.
Importation :
import pandas as pd
Attributs :
Paramètre Type Description Valeur par défaut subset
str, list Liste de colonnes à considérer pour détecter les doublons. Si non spécifié, toutes les colonnes sont utilisées. -
keep
str Détermine quelle occurrence des doublons garder : 'first'
,'last'
,'False'
-
Exemple de code :
import pandas as pd # Création d'un DataFrame exemple avec des doublons data = { 'Nom': ['Alice', 'Bob', 'Charlie', 'Bob', 'Alice'], 'Âge': [24, 27, 35, 27, 24], 'Ville': ['Paris', 'Lyon', 'Paris', 'Lyon', 'Paris'] } df = pd.DataFrame(data) # Détecter les doublons uniquement sur la colonne 'Nom' et garder la dernière occurrence doublons_nom = df.duplicated(subset=['Nom'], keep='last') # Afficher les doublons détectés print(doublons_nom)
Explication du code :
import pandas as pd
importe la bibliothèque pandas, renommée ici enpd
, afin de faciliter la création et la manipulation de structures de données comme les DataFrames.Création d’un DataFrame avec des doublons
Un dictionnaire
data
est défini avec trois colonnes :Nom
,Âge
etVille
. Certaines entrées sont volontairement dupliquées pour illustrer la détection de doublons.df = pd.DataFrame(data)
convertit ce dictionnaire en un DataFrame nommédf
.Détection de doublons sur une colonne spécifique
La méthode
duplicated()
est utilisée pour identifier les lignes dupliquées. Le paramètresubset=['Nom']
indique que la détection doit s’effectuer uniquement sur la colonneNom
.Le paramètre
keep='last'
signifie que la dernière occurrence d’un doublon est conservée comme référence, et les précédentes seront marquées comme doublons (valeursTrue
).doublons_nom = df.duplicated(subset=['Nom'], keep='last')
crée une série booléenne où chaque valeur indique si la ligne correspondante est considérée comme un doublon sur la colonneNom
.Affichage des doublons détectés
La fonction
print(doublons_nom)
affiche la série résultante, ce qui permet de repérer facilement les lignes en double selon le critère spécifié.