Aller au contenu
Apprendre.
  • M1 · toutes les matières15 matières : Préparation de données, API & sécurité, CI/CD, Docker, Merise, Dataviz, KNIME, ML appliqué : projet LoL, SQL & UML, SQL avancé, Machine Learning, Git, IA frugale & responsable, Qualité des données, MathématiquesAnnée
  • M2 · toutes les matières4 matières : Deep Learning, AI Act, Comex & Fundraising, Gouvernance & DataMeshAnnée
  • Deep LearningM2 · 4 modules · Réseaux de neurones, CNN, texte, modèles génératifs.Matière
  • Préparation de donnéesM1 · 3 modules · Nettoyer, transformer et fusionner des données avec Python.Matière
  • API & sécuritéM1 · 2 modules · Consommer, concevoir et sécuriser des API.Matière
  • CI/CDM1 · 1 module · Intégration et livraison continues.Matière
  • DockerM1 · 3 modules · Conteneurs, images, volumes, réseaux, Compose.Matière
  • MeriseM1 · 2 modules · Modéliser une base : MCD, MLD, MPD.Matière
  • DatavizM1 · 2 modules · Visualiser pour comprendre et décider.Matière
  • KNIMEM1 · 1 module · Explorer et nettoyer des données en workflow.Matière
  • ML appliqué : projet LoLM1 · 2 modules · Du besoin métier au POC de vision par ordinateur.Matière
  • SQL & UMLM1 · 3 modules · Modèles UML et requêtes SQL.Matière
  • SQL avancéM1 · 3 modules · Jointures, fenêtres, CTE, optimisation.Matière
  • Machine LearningM1 · 3 modules · Régression, classification, segmentation, projet.Matière

↑↓ naviguer↵ ouvre le résultat en surbrillanceesc fermer

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.

OutilEffet
.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=Falsesupprime 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

duplicated et drop_duplicates à la main

Voici un jeu avec des répétitions. Calcule : masque (équivalent de duplicated() sur toutes les colonnes), sans_doublon (drop_duplicates(), on garde la première occurrence), et id_uniques (drop_duplicates(subset=['ID'])) : une ligne par ID, la première rencontrée.

Ctrl/⌘+Entrée

À toi de coder

Garder la dernière occurrence

Pour une mise à jour de score, on veut garder la dernière ligne de chaque ID (keep='last'). Astuce : un dictionnaire dont la clé est l'ID écrase les anciennes valeurs, donc garde la dernière. Puis affiche (repetes) tous les ID qui apparaissent plus d'une fois (l'équivalent de keep=False pour afficher les lignes concernées).

Ctrl/⌘+Entrée