Gérer les valeurs manquantes après un pivotement
Après un pivotement de données avec pivot() ou pivot_table(), il peut y avoir des valeurs manquantes (NaN) dans le DataFrame résultant. Cela se produit généralement lorsqu’il y a des combinaisons de clés (index et colonnes) pour lesquelles il n’y a pas de données. La méthode fillna() permet de remplir ces valeurs manquantes avec une valeur spécifique, comme 0, la moyenne, ou toute autre valeur, afin d’éviter les erreurs lors des analyses ultérieures. Cela permet de rendre les données plus complètes et prêtes à l’emploi pour l’analyse.
Fonctions :
-
df.fillna(0)
La méthode fillna() permet de remplir les valeurs manquantes (NaN) dans un DataFrame ou une Series. Dans le contexte d'un pivotement, après avoir réorganisé les données avec pivot() ou pivot_table(), il est courant d'obtenir des valeurs manquantes lorsque certaines combinaisons de colonnes n'existent pas dans les données source. Par exemple, si un pivotement crée des colonnes pour des catégories qui ne sont pas présentes dans tous les cas, des valeurs manquantes (NaN) apparaîtront. Avec fillna(), vous pouvez spécifier une valeur pour remplacer ces NaN (par exemple, 0, la moyenne, ou une valeur spécifique).
Importation :
import pandas as pd
Attributs :
Paramètre Description value
La valeur utilisée pour remplacer les NaN (par exemple, 0
,None
,moyenne
).method
Peut être utilisé pour propager une valeur selon certaines directions ( ffill
pour forward fill,bfill
pour backward fill).axis
Permet de spécifier si l'on remplace les NaN sur les lignes ( axis=0
) ou les colonnes (axis=1
).inplace
Si True
, remplace les valeurs dans le DataFrame d'origine, sinon crée une nouvelle copie du DataFrame.Exemple de code :
import pandas as pd # Exemple de DataFrame df = pd.DataFrame({ 'id': [1, 2, 3], 'janvier': [100, None, 300], 'février': [110, 210, None], 'mars': [None, 220, 320] }) # Affichage du DataFrame d'origine print("DataFrame d'origine :\n", df) # Remplissage des NaN par 0 après un pivotement ou une transformation df_filled = df.fillna(0) # Affichage du DataFrame après remplissage print("\nDataFrame après fillna(0) :\n", df_filled)
Explication du code :
La ligne
import pandas as pd
importe la bibliothèque pandas, renommée ici enpd
pour faciliter son utilisation dans le code.Exemple de DataFrame
Un DataFrame nommé
df
est créé avec les colonnes suivantes :id
,janvier
,février
, etmars
. Certaines valeurs sont manquantes (NaN) pour simuler des données incomplètes.df = pd.DataFrame({ 'id': [1, 2, 3], 'janvier': [100, None, 300], 'février': [110, 210, None], 'mars': [None, 220, 320] })
Ce code crée un DataFrame où certaines valeurs de ventes sont manquantes (représentées par
None
, qui est équivalent àNaN
dans pandas).Affichage du DataFrame d'origine
La ligne
print("DataFrame d'origine :\n", df)
affiche le DataFrame original, avec les valeurs manquantes (NaN
) présentes dans certaines cellules.Remplissage des NaN par 0 après un pivotement ou une transformation
La méthode
fillna(0)
permet de remplir toutes les valeurs manquantes (NaN) par une valeur spécifique, ici0
.Le DataFrame
df_filled
est créé en remplaçant toutes les valeursNaN
par0
.df_filled = df.fillna(0)
Le résultat est un DataFrame où toutes les valeurs manquantes ont été remplacées par des zéros.
Affichage du DataFrame après remplissage
La ligne
print("\nDataFrame après fillna(0) :\n", df_filled)
affiche le DataFrame après que toutes les valeurs manquantes aient été remplacées par0
.