objectif
Construire un tableau croisé avec fonctions d’agrégation.
code minimal
import pandas as pd
df = pd.DataFrame({"city":["paris","paris","lyon"], "qte":[1,2,3], "cat":["a","b","a"]})
pvt = pd.pivot_table(df, values="qte", index="city", columns="cat", aggfunc="sum", fill_value=0)
print(pvt.reset_index().to_dict(orient="list"))
utilisation
import pandas as pd
df = pd.DataFrame({"d":["2025-01-01","2025-01-01","2025-01-02"], "cat":["a","a","b"], "v":[1,2,3]})
print(pd.pivot_table(df, index="d", columns="cat", values="v", aggfunc="count").fillna(0).to_dict())
variante(s) utile(s)
import pandas as pd
df = pd.DataFrame({"g":["x","x","y"], "v":[1,2,3]})
print(pd.crosstab(df["g"], df["v"]>1, normalize="index").round(2).to_dict())
notes
pivot_tablegénéralisecrosstabavec plus de contrôle.