Utiliser pivot_table() pour l’agrégation des données

La fonction pivot_table() de Pandas permet de créer un tableau croisé dynamique avec des données agrégées. Elle est utilisée pour résumer des données, appliquer des fonctions d’agrégation (comme la moyenne, la somme, le comptage, etc.), et organiser les résultats dans un format plus lisible.

Fonctions :

  • df.pivot_table(index='col1', columns='col2', values='col3', aggfunc='mean')

    La méthode pivot_table() permet de créer une table de contingence ou un tableau croisé dynamique à partir des données du DataFrame. Elle est utilisée pour agréger, regrouper et résumer des données selon différentes dimensions, avec des fonctions d'agrégation personnalisées (comme mean, sum, count, etc.). ➡️ C'est un pivot plus puissant que pivot(), car il permet de gérer les doublons et d'agréger les données.

    Importation :

    import pandas as pd

    Attributs :

    Paramètre Description
    index La ou les colonnes qui servent d’index dans la table résultat.
    columns Les colonnes à répartir en colonnes distinctes (valeurs deviennent en-têtes).
    values La ou les colonnes numériques sur lesquelles appliquer l’agrégation.
    aggfunc Fonction d'agrégation à appliquer (mean, sum, count, min, max, np.median, etc.).
    fill_value (optionnel) Valeur utilisée pour remplacer les valeurs manquantes dans la table (exemple : 0).
    margins (optionnel) Ajoute les totaux généraux si True.
    dropna (optionnel) Supprime les colonnes dont toutes les valeurs sont NaN si True.

    Exemple de code :

    import pandas as pd
    
    # Exemple de DataFrame
    df = pd.DataFrame({
        'Magasin': ['Paris', 'Paris', 'Lyon', 'Lyon', 'Paris'],
        'Produit': ['A', 'B', 'A', 'B', 'A'],
        'Vente': [100, 150, 80, 120, 130]
    })
    
    # Création d'une pivot_table
    pivot = df.pivot_table(index='Magasin',
                           columns='Produit',
                           values='Vente',
                           aggfunc='mean')
    
    print(pivot)
    Résultat du code

    Explication du code :

    Importation de la bibliothèque

    import pandas as pd

    Cette ligne importe la bibliothèque pandas, qui permet de manipuler des structures de données tabulaires en Python.

    Création d'un DataFrame

    df = pd.DataFrame({'Magasin': ['Paris', 'Paris', 'Lyon', 'Lyon', 'Paris'], 'Produit': ['A', 'B', 'A', 'B', 'A'], 'Vente': [100, 150, 80, 120, 130]})

    On crée un DataFrame avec trois colonnes : Magasin, Produit et Vente, représentant les ventes de différents produits dans plusieurs magasins.

    Création d'une table de pivot

    pivot = df.pivot_table(index='Magasin', columns='Produit', values='Vente', aggfunc='mean')

    La méthode pivot_table() est utilisée pour créer une table de pivot. Elle agrège les données selon les magasins (index='Magasin'), les produits (columns='Produit'), et les ventes (values='Vente'). Ici, l'agrégation est effectuée en calculant la moyenne des ventes pour chaque produit dans chaque magasin (aggfunc='mean').

    Affichage de la table de pivot

    print(pivot)

    Cette ligne affiche la table de pivot qui présente la moyenne des ventes de chaque produit dans chaque magasin.