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

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *