Pandas Where: Exploiter la puissance de Pandas pour gérer les valeurs nulles
Updated on
Travailler avec des données est au cœur de notre activité. Cependant, les données brutes peuvent souvent être désorganisées, incomplètes et comporter des valeurs nulles qui doivent être traitées. Sans une manipulation adéquate, les valeurs nulles peuvent causer des problèmes lors de l'analyse des données ou des tâches d'apprentissage automatique. Heureusement, avec la bibliothèque Pandas en Python, nous pouvons gérer rapidement et efficacement les valeurs nulles dans nos données.
Dans cet article, nous explorerons la fonction Pandas where()
et différentes autres techniques pour gérer les valeurs nulles dans Pandas. Nous aborderons la manière d'identifier et de gérer les données manquantes dans un DataFrame Pandas, les stratégies de travail avec les valeurs nulles, les bonnes pratiques pour gérer les valeurs manquantes, et bien plus encore.
Vous souhaitez créer rapidement des visualisations de données en Python ?
PyGWalker est un projet Python Open Source qui peut aider à accélérer l'analyse et la visualisation des données directement dans des environnements basés sur les notebooks Jupyter.
PyGWalker (opens in a new tab) transforme votre DataFrame Pandas (ou votre DataFrame Polars) en une interface utilisateur visuelle où vous pouvez glisser-déposer des variables pour créer facilement des graphiques. Utilisez simplement le code suivant :
pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)
Vous pouvez exécuter PyGWalker dès maintenant avec ces notebooks en ligne :
Et n'oubliez pas de nous donner une ⭐️ sur GitHub !
Identifier et gérer les données manquantes dans un DataFrame Pandas
Une des tâches les plus courantes que nous devons effectuer lors de la manipulation de données est de vérifier les données manquantes. Pandas propose plusieurs méthodes pour identifier les valeurs nulles, notamment isnull()
et notnull()
, qui renvoient des valeurs booléennes indiquant si certaines des valeurs du DataFrame sont nulles ou non. Nous pouvons utiliser ces fonctions pour rapidement vérifier s'il y a des valeurs manquantes dans nos données.
Par exemple, supposons que nous ayons un DataFrame avec plusieurs colonnes, dont certaines contiennent des valeurs manquantes.
import pandas as pd
import numpy as np
data = {'name': ['Alice', 'Bob', 'Charlie'],
'age': [25, np.nan, 30],
'gender': ['F', 'M', 'M'],
'income': [50000, 60000, np.nan]}
df = pd.DataFrame(data)
Pour vérifier les valeurs manquantes dans notre DataFrame, nous pouvons appliquer la fonction isnull()
à l'ensemble du DataFrame.
print(df.isnull())
Cela renverra un DataFrame de la même structure que le DataFrame d'origine, où True
représente une valeur nulle et False
représente une valeur non nulle.
Pour compter le nombre de valeurs manquantes dans chaque colonne de notre DataFrame, nous pouvons utiliser la méthode sum()
après avoir appliqué la fonction isnull()
.
print(df.isnull().sum())
Cela renverra un objet Series
où l'index est le nom des colonnes et les valeurs sont le nombre de valeurs manquantes dans chaque colonne.
Nous pouvons également supprimer les lignes ou les colonnes contenant des valeurs nulles à l'aide de la méthode dropna()
. Cette méthode supprime toute ligne ou colonne contenant au moins une valeur nulle.
df.dropna()
Alternativement, nous pouvons remplacer les valeurs nulles par une valeur spécifique à l'aide de la fonction fillna()
.
df.fillna(0)
Ce ne sont que quelques exemples des méthodes disponibles dans Pandas pour identifier et gérer les valeurs nulles. Pour une liste complète, veuillez vous référer à la documentation de Pandas.
Travailler avec les valeurs nulles dans Pandas
Les valeurs nulles peuvent être un défi lors de l'analyse des données ou des tâches d'apprentissage automatique. Cependant, il existe de nombreuses stratégies que nous pouvons utiliser pour travailler efficacement avec les valeurs nulles. En voici quelques-unes :
Interpolation
Une technique courante pour traiter les données manquantes est l'interpolation. L'interpolation est une technique statistique qui estime les valeurs manquantes à partir des valeurs observées dans les lignes voisines. Dans Pandas, nous pouvons utiliser la méthode interpolate()
pour effectuer une interpolation sur notre DataFrame.
df.interpolate()
Remplir les valeurs manquantes
Une autre stratégie pour travailler avec les valeurs nulles est de remplir les valeurs manquantes avec une constante ou une valeur calculée à partir des autres données. Nous pouvons utiliser la méthode fillna()
pour remplir les valeurs nulles avec une valeur spécifique.
df.fillna(0)
Alternativement, nous pouvons remplir les valeurs nulles avec la moyenne, le mode ou la médiane des autres données.
df.fillna(df.mean())
Supprimer les valeurs manquantes
Supprimer les valeurs manquantes est une stratégie courante pour traiter les valeurs nulles. Nous pouvons utiliser la méthode dropna()
pour supprimer toutes les lignes contenant une ou plusieurs valeurs nulles.
df.dropna()
Nous pouvons également supprimer les colonnes qui contiennent des valeurs nulles.
df.dropna(axis=1)
Imputation
L'imputation est une technique permettant d'estimer les valeurs manquantes à partir des données observées. Dans Pandas, nous pouvons utiliser le package scikit-learn pour effectuer l'imputation.
from sklearn.impute import SimpleImputer
imp = SimpleImputer(missing_values=np.nan, strategy='mean')
df[['age', 'revenu']] = imp.fit_transform(df[['age', 'revenu']])
Ce ne sont que quelques exemples parmi les nombreuses stratégies disponibles pour travailler avec les valeurs nulles dans Pandas. La stratégie appropriée dépend du problème spécifique et de la nature des données manquantes.
Meilleures pratiques pour la gestion des valeurs manquantes dans Pandas
La gestion des données manquantes peut être un défi, mais il existe quelques bonnes pratiques qui peuvent aider. Voici quelques conseils pour gérer les valeurs nulles dans Pandas :
- Vérifiez toujours les données manquantes avant d'effectuer une analyse.
- Utilisez des statistiques descriptives pour comprendre la distribution des données et identifier les valeurs aberrantes.
- Envisagez différentes stratégies pour traiter les données manquantes, telles que l'interpolation, l'imputation ou la suppression des valeurs manquantes.
- Soyez conscient des conséquences potentielles des différentes stratégies et de leur impact sur l'analyse.
- Utilisez des outils de visualisation des données pour mieux comprendre la nature et la distribution des données.
- Documentez les valeurs manquantes et la façon dont elles ont été traitées dans l'analyse.
En suivant ces bonnes pratiques, nous pouvons mieux gérer les valeurs nulles dans nos données et effectuer efficacement des tâches d'analyse de données ou d'apprentissage automatique.
Conclusion
Les valeurs nulles peuvent être un défi lorsqu'on travaille avec des données, mais avec Pandas, nous avons accès à un ensemble d'outils puissants pour identifier et gérer les données manquantes. Dans cet article, nous avons exploré la fonction Pandas where() et différentes autres techniques et stratégies pour travailler avec les valeurs nulles dans Pandas. En appliquant ces techniques et en suivant les bonnes pratiques, nous pouvons mieux gérer les valeurs nulles dans nos données et effectuer des analyses de données et des tâches d'apprentissage automatique efficaces.