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
estnp.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 dictionnairedata
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
parNone
dans le DataFrame. Le résultat est stocké dansdf_cleaned
.Affichage
print(df_cleaned)
affiche le DataFrame avec les valeurs corrigées.