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