Supprimer les valeurs manquantes
Les valeurs manquantes (ou missing values) sont fréquentes dans les jeux de données réels et peuvent provenir d’erreurs de saisie, de transferts de données incomplets ou simplement d’informations non disponibles. Leur présence peut perturber les analyses statistiques, fausser les visualisations et entraîner des erreurs ou des biais dans les modèles de machine learning.
Une des approches les plus simples pour traiter ces valeurs est de les supprimer. Cela peut se faire au niveau :
-
Des lignes (
rows
) : on supprime les observations (ex. : clients, événements) contenant au moins une valeur manquante. -
Des colonnes (
columns
) : on supprime les variables qui contiennent trop de valeurs manquantes et sont jugées peu utiles ou trop corrompues.
Pourquoi supprimer ?
-
Lorsque les valeurs manquantes sont rares et réparties aléatoirement, leur suppression a peu d’impact sur la qualité globale du jeu de données.
-
C’est une méthode rapide et facile à mettre en œuvre, surtout en phase exploratoire.
Limites
-
Risque de perte d’information si les données supprimées contiennent des patterns importants.
-
Ne convient pas si les valeurs manquantes sont nombreuses ou non aléatoires (ce qui pourrait introduire un biais).
Fonctions :
-
dropna()
La fonction dropna() permet de supprimer les lignes ou les colonnes contenant des valeurs manquantes dans un DataFrame. Elle est utile pour nettoyer les données avant de procéder à une analyse ou une modélisation.
Importation :
import pandas as pd
Attributs :
Paramètre Type Description Valeur par défaut axis
int
ouNone
Spécifie si les lignes ( axis=0
) ou les colonnes (axis=1
) doivent être supprimées.0
(lignes)how
str
Détermine comment supprimer les valeurs manquantes : - Exemple de code :
import pandas as pd # Création d'un DataFrame exemple avec des valeurs manquantes data = { 'Nom': ['Alice', 'Bob', 'Charlie', None, 'Eva'], 'Âge': [24, None, 35, 40, None], 'Ville': ['Paris', 'Lyon', None, 'Nice', 'Bordeaux'] } df = pd.DataFrame(data) # Supprimer les lignes contenant des valeurs manquantes df_cleaned = df.dropna() # Afficher le DataFrame après suppression print(df_cleaned)
Explication du code :
import pandas as pd
importe la bibliothèque pandas.Création du DataFrame
Le dictionnairedata
contient des valeurs manquantes (None
) dans les colonnesNom
,Âge
etVille
.df = pd.DataFrame(data)
transforme ce dictionnaire en tableau de données.Suppression des lignes avec des valeurs manquantes
df.dropna()
supprime toutes les lignes où au moins une valeur est manquante. Le résultat est stocké dansdf_cleaned
.Affichage
print(df_cleaned)
affiche les lignes complètes restantes.