Comment compter les doublons dans les pandas : avec des exemples



Vous pouvez utiliser les méthodes suivantes pour compter les doublons dans un DataFrame pandas :

Méthode 1 : compter les valeurs en double dans une colonne

len(df['my_column'])-len(df['my_column'].drop_duplicates())

Méthode 2 : compter les lignes en double

len(df)-len(df.drop_duplicates())

Méthode 3 : compter les doublons pour chaque ligne unique

df.groupby(df.columns.tolist(), as_index=False).size()

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({'team': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   'position': ['G', 'G', 'G', 'F', 'G', 'G', 'F', 'F'],
                   'points': [5, 5, 8, 10, 5, 7, 10, 10]})

#view DataFrame
print(df)

  team position  points
0    A        G       5
1    A        G       5
2    A        G       8
3    A        F      10
4    B        G       5
5    B        G       7
6    B        F      10
7    B        F      10

Exemple 1 : compter les valeurs en double dans une colonne

Le code suivant montre comment compter le nombre de valeurs en double dans la colonne de points :

#count duplicate values in points column
len(df['points'])-len(df['points'].drop_duplicates())

4

Nous pouvons voir qu’il y a 4 valeurs en double dans la colonne des points .

Exemple 2 : Compter les lignes en double

Le code suivant montre comment compter le nombre de lignes en double dans le DataFrame :

#count number of duplicate rows
len(df)-len(df.drop_duplicates())

2

Nous pouvons voir qu’il y a 2 lignes en double dans le DataFrame.

Nous pouvons utiliser la syntaxe suivante pour afficher ces 2 lignes en double :

#display duplicated rows
df[df.duplicated()]

        team	position points
1	A	G	 5
7	B	F	 10

Exemple 3 : compter les doublons pour chaque ligne unique

Le code suivant montre comment compter le nombre de doublons pour chaque ligne unique du DataFrame :

#display number of duplicates for each unique row
df.groupby(df.columns.tolist(), as_index=False).size()

        team	position points	size
0	A	F	 10	1
1	A	G	 5	2
2	A	G	 8	1
3	B	F	 10	2
4	B	G	 5	1
5	B	G	 7	1

La colonne taille affiche le nombre de doublons pour chaque ligne unique.

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 *