Remplacer des valeurs

Dans l’analyse de données, il est fréquent de devoir remplacer certaines valeurs dans un jeu de données pour diverses raisons : corriger des erreurs, gérer des valeurs manquantes, harmoniser des catégories ou transformer des données pour faciliter l’analyse.

Le remplacement des valeurs permet d’améliorer la qualité des données, d’éviter des biais dans les modèles statistiques, et de garantir que les traitements automatiques s’effectuent correctement. Par exemple, on peut remplacer des valeurs nulles par la moyenne ou la médiane, corriger des fautes de frappe dans des catégories, ou uniformiser des labels.

Les méthodes pour remplacer des valeurs varient selon le type de données (numériques, catégorielles) et le contexte, et peuvent aller de simples substitutions à des techniques plus avancées comme l’imputation statistique ou basée sur des modèles.

Dans cette page, vous apprendrez les différentes techniques pour remplacer des valeurs, leurs avantages et inconvénients, ainsi que des exemples pratiques en Python avec des bibliothèques comme pandas.

Fonctions :

  • replace()

    La méthode replace() de pandas permet de remplacer des valeurs spécifiques dans un DataFrame ou une Series par d'autres valeurs. Elle est souvent utilisée pour nettoyer ou transformer les données.

    Importation :

    import pandas as pd

    Attributs :

    Paramètre Type Description Valeur par défaut
    to_replace scalar, list, dict, regex Valeur(s) à remplacer. Peut être une valeur unique, une liste, un dictionnaire ou une expression régulière. None
    value scalar, list, dict Nouvelle valeur de remplacement correspondant à to_replace. None
    inplace bool Si True, remplace les valeurs dans le DataFrame d'origine sans en créer une copie. False
    limit int Nombre maximum de remplacements par colonne. None
    regex bool Si True, utilise des expressions régulières pour identifier les valeurs à remplacer. False
    method {'pad', 'ffill', 'bfill', None} Méthode de remplacement si to_replace est np.nan. None

    Exemple de code :

    import pandas as pd
    
    # Création d'un DataFrame
    data = {
        'Nom': ['Alice', 'Bob', 'Charlie', 'David'],
        'Âge': [25, -1, 30, -1],
        'Ville': ['Paris', 'Londres', 'Paris', 'Berlin']
    }
    
    df = pd.DataFrame(data)
    
    # Remplacer les âges invalides (-1) par None
    df_cleaned = df.replace(to_replace=-1, value=None)
    
    print(df_cleaned)
    
    Résultat du code

    Explication du code :

    Création du DataFrame
    Le dictionnaire data contient un âge invalide -1 dans certaines lignes. df = pd.DataFrame(data) transforme ce dictionnaire en tableau de données.
    Remplacement des valeurs incorrectes
    df.replace(to_replace=-1, value=None) remplace toutes les occurrences de -1 par None dans le DataFrame. Le résultat est stocké dans df_cleaned.
    Affichage
    print(df_cleaned) affiche le DataFrame avec les valeurs corrigées.