Pandas : comment supprimer les doublons sur plusieurs colonnes
Vous pouvez utiliser les méthodes suivantes pour supprimer les lignes en double sur plusieurs colonnes dans un DataFrame pandas :
Méthode 1 : supprimer les doublons dans toutes les colonnes
df.drop_duplicates()
Méthode 2 : supprimer les doublons dans des colonnes spécifiques
df.drop_duplicates(['column1', 'column3'])
Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le DataFrame pandas suivant :
import pandas as pd #create DataFrame df = pd.DataFrame({'region': ['East', 'East', 'East', 'West', 'West', 'West'], 'store': [1, 1, 2, 1, 2, 2], 'sales': [5, 5, 7, 9, 12, 8]}) #view DataFrame print(df) region store sales 0 East 1 5 1 East 1 5 2 East 2 7 3 West 1 9 4 West 2 12 5 West 2 8
Exemple 1 : supprimer les doublons dans toutes les colonnes
Le code suivant montre comment supprimer les lignes comportant des valeurs en double dans toutes les colonnes :
#drop rows that have duplicate values across all columns
df.drop_duplicates()
region store sales
0 East 1 5
2 East 2 7
3 West 1 9
4 West 2 12
5 West 2 8
La ligne en position d’index 1 avait les mêmes valeurs dans toutes les colonnes que la ligne en position d’index 0, elle a donc été supprimée du DataFrame.
Par défaut, pandas conserve la première ligne en double. Cependant, vous pouvez utiliser l’argument keep pour spécifier de conserver la dernière ligne en double :
#drop rows that have duplicate values across all columns (keep last duplicate)
df.drop_duplicates(keep='last')
region store sales
1 East 1 5
2 East 2 7
3 West 1 9
4 West 2 12
5 West 2 8
Exemple 2 : supprimer les doublons dans des colonnes spécifiques
Vous pouvez utiliser le code suivant pour supprimer les lignes comportant des valeurs en double uniquement dans les colonnes de région et de magasin :
#drop rows that have duplicate values across region and store columns
df.drop_duplicates(['region', 'store'])
region store sales
0 East 1 5
2 East 2 7
3 West 1 9
4 West 2 12
Au total, deux lignes ont été supprimées du DataFrame car elles contenaient des valeurs en double dans les colonnes de région et de magasin .
Remarque : Vous pouvez trouver la documentation complète de la fonction drop_duplicates() ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :
Comment trouver des doublons chez les pandas
Comment supprimer les colonnes en double dans Pandas
Comment supprimer la première ligne dans Pandas DataFrame