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)
    Résultat du code

    Explication du code :

    import pandas as pd importe la bibliothèque pandas, renommée ici en pd 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 par None). Ce dictionnaire est utilisé pour créer un DataFrame df.

    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' et aggfunc='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.