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 pdAttributs :
Paramètre Description indexLa ou les colonnes qui servent d’index dans la table résultat. columnsLes colonnes à répartir en colonnes distinctes (valeurs deviennent en-têtes). valuesLa ou les colonnes numériques sur lesquelles appliquer l’agrégation. aggfuncFonction 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)
Explication du code :
Importation de la bibliothèque
import pandas as pdCette 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,ProduitetVente, 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.