Comment supprimer les lignes en double dans un DataFrame Pandas
Le moyen le plus simple de supprimer les lignes en double dans un DataFrame pandas consiste à utiliser la fonction drop_duplicates() , qui utilise la syntaxe suivante :
df.drop_duplicates(subset=Aucun, keep=’first’, inplace=False)
où:
- sous-ensemble : quelles colonnes prendre en compte pour identifier les doublons. La valeur par défaut est toutes les colonnes.
- keep : indique les doublons (le cas échéant) à conserver.
- first : supprimez toutes les lignes en double, sauf la première.
- last : supprime toutes les lignes en double sauf la dernière.
- False : Supprimez tous les doublons.
- inplace : indique s’il faut supprimer les doublons en place ou renvoyer une copie du DataFrame.
Ce tutoriel fournit plusieurs exemples d’utilisation pratique de cette fonction sur le DataFrame suivant :
import pandas as pd #create DataFrame df = pd.DataFrame({'team': ['a', 'b', 'b', 'c', 'c', 'd'], 'points': [3, 7, 7, 8, 8, 9], 'assists': [8, 6, 7, 9, 9, 3]}) #display DataFrame print(df) team points assists 0 a 3 8 1 b 7 6 2 b 7 7 3 c 8 9 4 c 8 9 5 d 9 3
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 :
df.drop_duplicates()
team points assists
0 a 3 8
1 b 7 6
2 b 7 7
3 c 8 9
5 d 9 3
Par défaut, la fonction drop_duplicates() supprime tous les doublons sauf le premier.
Cependant, nous pourrions utiliser l’argument keep=False pour supprimer entièrement tous les doublons :
df.drop_duplicates(keep=False) team points assists 0 a 3 8 1 b 7 6 2 b 7 7 5 d 9 3
Exemple 2 : supprimer les doublons dans des colonnes spécifiques
Le code suivant montre comment supprimer les lignes comportant des valeurs en double uniquement dans les colonnes intitulées team et points :
df.drop_duplicates(subset=['team', 'points']) team points assists 0 a 3 8 1 b 7 6 3 c 8 9 5 d 9 3
Ressources additionnelles
Comment supprimer les colonnes en double dans Pandas
Comment trier les valeurs dans un DataFrame Pandas
Comment filtrer un DataFrame Pandas sur plusieurs conditions
Comment insérer une colonne dans un DataFrame Pandas