Supprimer les doublons

La fonction drop_duplicates() de Pandas permet de supprimer les lignes du DataFrame qui sont des doublons. Elle identifie les lignes où toutes les valeurs ou certaines colonnes sont identiques et les élimine, en gardant par défaut la première occurrence. Vous pouvez également choisir de conserver la dernière occurrence des doublons en spécifiant l’argument keep=’last’. Il est aussi possible de se concentrer sur des colonnes spécifiques en utilisant l’argument subset, ce qui permet de supprimer les doublons en se basant uniquement sur un sous-ensemble des colonnes. Cette méthode est très utile pour nettoyer les données avant de procéder à une analyse ou à la construction d’un modèle, en évitant les biais introduits par des observations répétées.

Fonctions :

  • drop_duplicates()

    La fonction drop_duplicates() permet de supprimer les lignes en double dans un DataFrame, en fonction des colonnes spécifiées. Elle renvoie un DataFrame sans doublons. Par défaut, seules les premières occurrences sont conservées, mais ce comportement peut être modifié avec l'argument keep.

    Importation :

    import pandas as pd

    Attributs :

    Paramètre Type Description Valeur par défaut
    subset str, list Liste de colonnes à considérer pour la suppression des 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)
    
    # Supprimer les doublons uniquement sur la colonne 'Nom', en gardant la dernière occurrence
    df_sans_doublons_nom = df.drop_duplicates(subset=['Nom'], keep='last')
    
    # Afficher le DataFrame sans doublons pour la colonne 'Nom'
    print(df_sans_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 manipuler des 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 valeurs sont répétées pour illustrer la suppression de doublons.

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

    Suppression des doublons sur une colonne spécifique

    La méthode drop_duplicates() est utilisée pour supprimer les lignes en double. Le paramètre subset=['Nom'] indique que la suppression doit se faire uniquement en se basant sur la colonne Nom.

    Le paramètre keep='last' permet de conserver la dernière occurrence de chaque nom, tandis que les occurrences précédentes sont supprimées.

    df_sans_doublons_nom = df.drop_duplicates(subset=['Nom'], keep='last') crée un nouveau DataFrame sans doublons sur la colonne Nom.

    Affichage du DataFrame sans doublons

    La fonction print(df_sans_doublons_nom) affiche le nouveau DataFrame, dans lequel seules les dernières occurrences des noms en double sont conservées.