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)
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
etVente
, 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.