Leçon 10 / 10 — Chapitre 6: Manipuler des données avec pandas
Cas pratique : analyser un petit jeu de ventes
Cette dernière leçon combine sélection, filtrage, colonne calculée, tri et groupby, sur un petit jeu de données de ventes.
import pandas as pd
ventes = pd.DataFrame({
"produit": ["riz", "huile", "sucre", "riz", "huile"],
"categorie": ["alimentation", "alimentation", "alimentation", "alimentation", "alimentation"],
"prix_unitaire": [5, 8, 3, 5, 8],
"quantite": [10, 0, 15, 5, 3],
})
ventes_reelles = ventes[ventes["quantite"] > 0]
ventes_reelles = ventes_reelles.copy()
ventes_reelles["total"] = ventes_reelles["prix_unitaire"] * ventes_reelles["quantite"]
par_produit = ventes_reelles.groupby("produit")["total"].sum().sort_values(ascending=False)
print(par_produit)
Ce que fait chaque partie :
ventes[ventes["quantite"] > 0]filtre les lignes sans vente réelle (vu dans ce chapitre), excluant la lignehuileà quantité0..copy()évite un avertissement pandas courant lors de la modification d'un DataFrame filtré ;["total"] = ...ajoute une colonne calculée (vu dans ce chapitre)..groupby("produit")["total"].sum()(vu dans ce chapitre) totalise les ventes par produit, puis.sort_values(ascending=False)(vu dans ce chapitre) trie du plus vendu en valeur au moins vendu.
Ce code affiche riz en tête avec 75 (50 + 25, ses deux ventes), puis sucre avec 45, puis huile avec 24 (seulement sa seconde vente de 3 unités, la première étant exclue) — trié du total le plus élevé au plus faible.
À vous de jouer : ajoutez une nouvelle vente au DataFrame ventes, et vérifiez que le classement final par produit se met à jour en conséquence.
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