Créer un tableau croisé dynamique

Un tableau croisé dynamique (pivot table) permet de résumer et d’agréger des données en fonction de plusieurs dimensions. Avec la méthode pivot_table(), vous pouvez spécifier une ou plusieurs colonnes comme index, d’autres comme colonnes, et déterminer la valeur à agréger. Vous pouvez également choisir la fonction d’agrégation souhaitée (comme la moyenne, la somme, etc.) pour calculer les résultats. Cette méthode est utile pour explorer des relations entre différentes catégories et résumer de grandes quantités de données sous forme compacte et lisible.

Fonctions :

  • pivot_table()

    La fonction pivot_table() permet de créer un tableau croisé dynamique dans un DataFrame, où les valeurs d'une ou plusieurs colonnes sont agrégées selon les combinaisons d'index et de colonnes spécifiées. Cela permet de résumer et d'analyser facilement des données, en utilisant des fonctions d'agrégation telles que la moyenne, la somme, le minimum, le maximum, etc.

    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'

    Exemple de code :

    import pandas as pd
    
    # Exemple de DataFrame
    data = {
        'produit': ['A', 'B', 'A', 'C', 'B', 'C', 'A'],
        'mois': ['Jan', 'Jan', 'Feb', 'Feb', 'Mar', 'Mar', 'Jan'],
        'ventes': [100, 150, 200, 250, 300, 350, 400]
    }
    df = pd.DataFrame(data)
    
    # Créer un tableau croisé dynamique
    pivot = df.pivot_table(index='mois', columns='produit', values='ventes', aggfunc='sum')
    
    print("Tableau croisé dynamique des ventes :")
    print(pivot)

    Explication du code :

    • DataFrame : Le DataFrame contient des informations sur les ventes de différents produits (A, B, C) pour chaque mois (Jan, Feb, Mar).
    • Création du tableau croisé dynamique : La méthode pivot_table() est utilisée pour résumer les ventes :
      • index='mois' : Les mois sont utilisés comme index du tableau croisé.
      • columns='produit' : Les produits (A, B, C) sont utilisés comme colonnes.
      • values='ventes' : Les ventes sont les valeurs numériques à agréger.
      • aggfunc='sum' : La fonction d'agrégation utilisée ici est la somme des ventes pour chaque combinaison de mois et de produit.

    Remarque :

    • Autres fonctions d'agrégation : Vous pouvez utiliser différentes fonctions d'agrégation avec le paramètre aggfunc, telles que 'mean' (moyenne), 'min' (minimum), 'max' (maximum), etc.