Partie 2 · Doublons
Repérer et supprimer les doublons
Une ligne dupliquée est une observation identique (ou presque) à une autre. Ignorés, les doublons faussent comptages, moyennes et jointures.
| Outil | Effet |
|---|---|
.duplicated() | masque booléen : première occurrence = False, suivantes = True (par défaut) |
subset=['col1','col2'] | ne compare que ces colonnes |
.drop_duplicates() | supprime les doublons |
keep='first' (défaut) | garde la première occurrence |
keep='last' | garde la dernière |
keep=False | supprime toutes les occurrences d'un doublon (aucune n'est gardée) |
Dans duplicated(keep=False), toutes les occurrences, première comprise, sont marquées True : c'est ainsi qu'on affiche les lignes concernées (exercice 3 du TP).
Python pur : on mémorise les clés déjà vues dans un set (précision : un dict n'est pas hachable, on construit un tuple de valeurs).
vus, doublon = set(), [] for l in df: cle = tuple(l.values()) # ou tuple(l[c] for c in subset) doublon.append(cle in vus) # duplicated() vus.add(cle)
Vérifie que tu as compris
Que marque
.duplicated() par défaut comme False ?Vérifie que tu as compris
Quelle option supprime toutes les lignes qui ont un doublon, sans en garder aucune ?
À toi de coder
À toi de coder