Gérer les valeurs manquantes dans un pivot_table
Lorsque vous créez un tableau croisé dynamique avec pivot_table(), il peut y avoir des cases vides si certaines combinaisons d’index et de colonnes n’existent pas dans les données. La méthode pivot_table() permet de gérer ces valeurs manquantes en spécifiant un paramètre fill_value. Ce paramètre permet de définir une valeur de remplacement pour les cases vides, comme 0, la moyenne, ou toute autre valeur de votre choix. Cela garantit que le tableau croisé dynamique est complet et ne contient pas de valeurs manquantes.
Fonctions :
-
pivot_table(fill_value=0)
La fonction pivot_table() dans pandas permet de créer des tableaux croisés dynamiques à partir de données, mais dans certains cas, des valeurs manquantes peuvent apparaître dans les résultats. Le paramètre fill_value permet de remplacer ces valeurs manquantes (NaN) par une valeur spécifique, comme 0 ou une autre valeur par défaut. Cela peut être utile pour éviter des erreurs ou pour compléter les tableaux croisés de manière plus significative.
Importation :
import pandas as pd
Attributs :
Paramètre Type Description Valeur par défaut index
str ou list La colonne (ou les colonnes) à utiliser comme index du tableau croisé. None
columns
str ou list La colonne (ou les colonnes) à utiliser comme colonnes du tableau croisé. None
values
str La colonne contenant les valeurs numériques à agréger. None
aggfunc
str ou function La fonction d'agrégation à appliquer aux valeurs. Exemple : 'mean'
,'sum'
,'min'
,'max'
, etc.'mean'
fill_value
scalar, optionnel La valeur à utiliser pour remplacer les valeurs manquantes dans le tableau croisé dynamique (NaN). None
Exemple de code :
import pandas as pd # Exemple de DataFrame avec des valeurs manquantes data = { 'produit': ['A', 'B', 'A', 'C', 'B', 'C', 'A'], 'mois': ['Jan', 'Jan', 'Feb', 'Feb', 'Mar', 'Mar', 'Jan'], 'ventes': [100, 150, 200, 250, None, 350, None] } df = pd.DataFrame(data) # Créer un tableau croisé dynamique en remplaçant les valeurs manquantes par 0 pivot = df.pivot_table(index='mois', columns='produit', values='ventes', aggfunc='sum', fill_value=0) print("Tableau croisé dynamique avec valeurs manquantes remplacées par 0 :") print(pivot)
Explication du code :
import pandas as pd
importe la bibliothèque pandas, renommée ici enpd
pour simplifier son utilisation dans le code.Exemple de DataFrame avec des valeurs manquantes
Le dictionnaire
data
contient trois clés :'produit'
,'mois'
, et'ventes'
, chacune associée à une liste de valeurs. Certaines valeurs de la colonne'ventes'
sont manquantes (représentées parNone
). Ce dictionnaire est utilisé pour créer un DataFramedf
.Créer un tableau croisé dynamique en remplaçant les valeurs manquantes par 0
La méthode
pivot_table()
est utilisée pour créer un tableau croisé dynamique à partir du DataFrame. Elle permet de résumer les données en fonction de certaines catégories. Ici, les données sont regroupées par mois (index='mois'
) et par produit (columns='produit'
). La somme des ventes est calculée pour chaque combinaison de mois et de produit (values='ventes'
etaggfunc='sum'
).Le paramètre
fill_value=0
est utilisé pour remplacer les valeurs manquantes par zéro. Cela garantit qu'aucune valeur manquante ne figure dans le tableau croisé dynamique.Le résultat est assigné à la variable
pivot
, qui contient le tableau croisé dynamique des ventes avec les valeurs manquantes remplacées par 0.Enfin,
print(pivot)
affiche le tableau croisé dynamique, montrant la somme des ventes pour chaque produit et mois, avec les valeurs manquantes remplacées par zéro.