Supprimer les doublons
La fonction drop_duplicates() de Pandas permet de supprimer les lignes du DataFrame qui sont des doublons. Elle identifie les lignes où toutes les valeurs ou certaines colonnes sont identiques et les élimine, en gardant par défaut la première occurrence. Vous pouvez également choisir de conserver la dernière occurrence des doublons en spécifiant l’argument keep=’last’. Il est aussi possible de se concentrer sur des colonnes spécifiques en utilisant l’argument subset, ce qui permet de supprimer les doublons en se basant uniquement sur un sous-ensemble des colonnes. Cette méthode est très utile pour nettoyer les données avant de procéder à une analyse ou à la construction d’un modèle, en évitant les biais introduits par des observations répétées.
Fonctions :
-
drop_duplicates()
La fonction drop_duplicates() permet de supprimer les lignes en double dans un DataFrame, en fonction des colonnes spécifiées. Elle renvoie un DataFrame sans doublons. Par défaut, seules les premières occurrences sont conservées, mais ce comportement peut être modifié avec l'argument keep.
Importation :
import pandas as pd
Attributs :
Paramètre Type Description Valeur par défaut subset
str, list Liste de colonnes à considérer pour la suppression des 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) # Supprimer les doublons uniquement sur la colonne 'Nom', en gardant la dernière occurrence df_sans_doublons_nom = df.drop_duplicates(subset=['Nom'], keep='last') # Afficher le DataFrame sans doublons pour la colonne 'Nom' print(df_sans_doublons_nom)
Explication du code :
import pandas as pd
importe la bibliothèque pandas, renommée ici enpd
, afin de manipuler des 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 valeurs sont répétées pour illustrer la suppression de doublons.df = pd.DataFrame(data)
transforme ce dictionnaire en un DataFrame nommédf
.Suppression des doublons sur une colonne spécifique
La méthode
drop_duplicates()
est utilisée pour supprimer les lignes en double. Le paramètresubset=['Nom']
indique que la suppression doit se faire uniquement en se basant sur la colonneNom
.Le paramètre
keep='last'
permet de conserver la dernière occurrence de chaque nom, tandis que les occurrences précédentes sont supprimées.df_sans_doublons_nom = df.drop_duplicates(subset=['Nom'], keep='last')
crée un nouveau DataFrame sans doublons sur la colonneNom
.Affichage du DataFrame sans doublons
La fonction
print(df_sans_doublons_nom)
affiche le nouveau DataFrame, dans lequel seules les dernières occurrences des noms en double sont conservées.