Comment trouver des doublons dans Pandas DataFrame (avec exemples)



Vous pouvez utiliser la fonction duplicated() pour rechercher des valeurs en double dans un DataFrame pandas.

Cette fonction utilise la syntaxe de base suivante :

#find duplicate rows across all columns
duplicateRows = df[df.duplicated()]

#find duplicate rows across specific columns
duplicateRows = df[df.duplicated(['col1', 'col2'])]

Les exemples suivants montrent comment utiliser cette fonction en pratique avec le DataFrame pandas suivant :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   'points': [10, 10, 12, 12, 15, 17, 20, 20],
                   'assists': [5, 5, 7, 9, 12, 9, 6, 6]})

#view DataFrame
print(df)

  team  points  assists
0    A      10        5
1    A      10        5
2    A      12        7
3    A      12        9
4    B      15       12
5    B      17        9
6    B      20        6
7    B      20        6

Exemple 1 : rechercher des lignes en double dans toutes les colonnes

Le code suivant montre comment rechercher les lignes en double dans toutes les colonnes du DataFrame :

#identify duplicate rows
duplicateRows = df[df.duplicated()]

#view duplicate rows
duplicateRows

        team	points	assists
1	A	10	5
7	B	20	6

Il existe deux lignes qui sont des doublons exacts d’autres lignes du DataFrame.

Notez que nous pouvons également utiliser l’argument keep=’last’ pour afficher les premières lignes en double au lieu de la dernière :

#identify duplicate rows
duplicateRows = df[df.duplicated(keep='last')]

#view duplicate rows
print(duplicateRows)

	team	points	assists
0	A	10	5
6	B	20	6

Exemple 2 : rechercher des lignes en double dans des colonnes spécifiques

Le code suivant montre comment rechercher les lignes en double uniquement dans les colonnes « équipe » et « points » du DataFrame :

#identify duplicate rows across 'team' and 'points' columns
duplicateRows = df[df.duplicated(['team', 'points'])]

#view duplicate rows
print(duplicateRows)

        team	points	assists
1	A	10	5
3	A	12	9
7	B	20	6

Il y a trois lignes où les valeurs des colonnes « équipe » et « points » sont des copies exactes des lignes précédentes.

Exemple 3 : Rechercher des lignes en double dans une colonne

Le code suivant montre comment rechercher les lignes en double uniquement dans la colonne « équipe » du DataFrame :

#identify duplicate rows in 'team' column
duplicateRows = df[df.duplicated(['team'])]

#view duplicate rows
print(duplicateRows)

	team	points	assists
1	A	10	5
2	A	12	7
3	A	12	9
5	B	17	9
6	B	20	6
7	B	20	6

Il y a six lignes au total où les valeurs de la colonne « équipe » sont des doublons exacts des lignes précédentes.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :

Comment supprimer les lignes en double dans Pandas
Comment supprimer les colonnes en double dans Pandas
Comment sélectionner des colonnes par index dans Pandas

Ajouter un commentaire

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