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 pdAttributs :
Paramètre Type Description Valeur par défaut to_replacescalar, list, dict, regex Valeur(s) à remplacer. Peut être une valeur unique, une liste, un dictionnaire ou une expression régulière. None valuescalar, list, dict Nouvelle valeur de remplacement correspondant à to_replace.None inplacebool Si True, remplace les valeurs dans le DataFrame d'origine sans en créer une copie.Falselimitint Nombre maximum de remplacements par colonne. None regexbool 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_replaceestnp.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)Explication du code :
Création du DataFrame
Le dictionnairedatacontient un âge invalide-1dans 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-1parNonedans le DataFrame. Le résultat est stocké dansdf_cleaned.Affichage
print(df_cleaned)affiche le DataFrame avec les valeurs corrigées.