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.