← retour aux snippets

pandas: pivot_table (tableau croisé)

Construire un tableau croisé avec fonctions d'agrégation.

python pandas #pandas#pivot#crosstab

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_table généralise crosstab avec plus de contrôle.