Leçon 8 / 10 — Chapitre 6: Manipuler des données avec pandas
Grouper et agréger avec .groupby()
.groupby("colonne") regroupe les lignes ayant la même valeur dans colonne, pour ensuite calculer une statistique par groupe — l'équivalent, en une ligne, de la boucle d'accumulation par catégorie déjà écrite dans Python Intermédiaire.
import pandas as pd
df = pd.DataFrame({
"categorie": ["alimentation", "alimentation", "hygiene"],
"montant": [25, 15, 10],
})
totaux = df.groupby("categorie")["montant"].sum()
print(totaux)
Ce code affiche alimentation 40 puis hygiene 10 : .groupby("categorie") forme les groupes, ["montant"] sélectionne la colonne à agréger, et .sum() additionne les montants au sein de chaque groupe séparément — exactement le résultat de la boucle avec .get(cle, 0) vue dans Python Intermédiaire, mais en une seule ligne.
D'autres agrégations fonctionnent selon le même principe : .mean() (moyenne), .count() (nombre de lignes), .max() (maximum) :
moyennes = df.groupby("categorie")["montant"].mean()
Pour plusieurs statistiques à la fois sur un même groupe, .agg() accepte une liste :
resume = df.groupby("categorie")["montant"].agg(["sum", "mean", "count"])
À vous de jouer : avec un DataFrame ayant une colonne de catégorie et une colonne de montant, calculez le total par catégorie avec .groupby().sum().
Continuez ce module
Débloquez les leçons restantes ainsi que la certification finale.
2 500 XOF / 3,81 € / 4,15 $
Débloquez les 87 leçons restantes de ce module
Votre paiement est vérifié avant l'activation de l'accès