Détecter les doublons (duplicated())

La fonction duplicated() de Pandas permet d’identifier les lignes du DataFrame qui sont des doublons, c’est-à-dire celles qui ont exactement les mêmes valeurs que d’autres lignes. Elle retourne un tableau booléen où chaque valeur indique si la ligne correspondante est un doublon (True) ou non (False). Par défaut, duplicated() compare toutes les colonnes, mais il est possible de spécifier un sous-ensemble de colonnes à analyser avec l’argument subset. Cela permet de détecter et de gérer efficacement les doublons dans les données, ce qui est essentiel pour garantir l’intégrité des jeux de données avant de les utiliser pour des analyses ou des modèles de machine learning.

Fonctions :

  • duplicated()

    La fonction duplicated() permet de détecter les lignes du DataFrame qui sont des doublons (c'est-à-dire identiques aux lignes précédentes). Elle renvoie une série booléenne, où True indique que la ligne est un doublon et False indique que la ligne est unique.

    Importation :

    import pandas as pd

    Attributs :

    Paramètre Type Description Valeur par défaut
    subset str, list Liste de colonnes à considérer pour détecter les doublons. Si non spécifié, toutes les colonnes sont utilisées. -
    keep str Détermine quelle occurrence des doublons garder : 'first', 'last', 'False' -

    Exemple de code :

    import pandas as pd
    
    # Création d'un DataFrame exemple avec des doublons
    data = {
        'Nom': ['Alice', 'Bob', 'Charlie', 'Bob', 'Alice'],
        'Âge': [24, 27, 35, 27, 24],
        'Ville': ['Paris', 'Lyon', 'Paris', 'Lyon', 'Paris']
    }
    
    df = pd.DataFrame(data)
    
    # Détecter les doublons uniquement sur la colonne 'Nom' et garder la dernière occurrence
    doublons_nom = df.duplicated(subset=['Nom'], keep='last')
    
    # Afficher les doublons détectés
    print(doublons_nom)
    Résultat du code

    Explication du code :

    import pandas as pd importe la bibliothèque pandas, renommée ici en pd, afin de faciliter la création et la manipulation de structures de données comme les DataFrames.

    Création d’un DataFrame avec des doublons

    Un dictionnaire data est défini avec trois colonnes : Nom, Âge et Ville. Certaines entrées sont volontairement dupliquées pour illustrer la détection de doublons.

    df = pd.DataFrame(data) convertit ce dictionnaire en un DataFrame nommé df.

    Détection de doublons sur une colonne spécifique

    La méthode duplicated() est utilisée pour identifier les lignes dupliquées. Le paramètre subset=['Nom'] indique que la détection doit s’effectuer uniquement sur la colonne Nom.

    Le paramètre keep='last' signifie que la dernière occurrence d’un doublon est conservée comme référence, et les précédentes seront marquées comme doublons (valeurs True).

    doublons_nom = df.duplicated(subset=['Nom'], keep='last') crée une série booléenne où chaque valeur indique si la ligne correspondante est considérée comme un doublon sur la colonne Nom.

    Affichage des doublons détectés

    La fonction print(doublons_nom) affiche la série résultante, ce qui permet de repérer facilement les lignes en double selon le critère spécifié.