Supprimer les doublons (drop_duplicates())

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)

    Explication du code :

    • Un DataFrame est créé avec des doublons dans les colonnes Nom et Âge.
    • La méthode drop_duplicates() est utilisée pour supprimer les doublons du DataFrame. Par défaut, elle garde la première occurrence et supprime les suivantes.
    • Le paramètre subset permet de spécifier une ou plusieurs colonnes à vérifier pour les doublons. Si ce paramètre n'est pas fourni, toutes les colonnes sont utilisées.
    • Le paramètre keep détermine quelle occurrence des doublons doit être conservée :
      • 'first' (par défaut) garde la première occurrence et supprime les suivantes.
      • 'last' garde la dernière occurrence et supprime les précédentes.
      • False supprime toutes les occurrences des doublons.
    • Le paramètre inplace permet de modifier le DataFrame en place, sans créer de nouvelle copie.
    • Le paramètre ignore_index peut être utilisé pour réinitialiser les indices du DataFrame après la suppression des doublons.