objectif
Tableau croisé avec normalisation et totaux.
code minimal
import pandas as pd
df = pd.DataFrame({"sex":["f","m","m","f"], "survived":[1,0,1,1]})
tab = pd.crosstab(df["sex"], df["survived"], normalize="index", margins=True)
print(tab.round(2).to_dict())
utilisation
import pandas as pd
df = pd.DataFrame({"a":[1,1,2,2], "b":[1,2,1,2]})
print(pd.crosstab(df["a"], df["b"]).to_dict())
variante(s) utile(s)
import pandas as pd
df = pd.DataFrame({"a":[1,1,2], "b":[1,1,2], "w":[1,2,1]})
print(pd.crosstab(df["a"], df["b"], values=df["w"], aggfunc="sum").to_dict())
notes
normalizepeut être ‘index’, ‘columns’.