objectif
Basculer entre colonnes et index via stack/unstack.
code minimal
import pandas as pd
df = pd.DataFrame({"g":["a","a","b"], "k":[1,2,1], "v":[10,20,30]}).set_index(["g","k"])
wide = df["v"].unstack("k")
print(wide.shape)
utilisation
import pandas as pd
df = pd.DataFrame({"g":["a","a","b"], "k":[1,2,1], "v":[10,20,30]}).set_index(["g","k"])
print(df["v"].unstack().stack().equals(df["v"]))
variante(s) utile(s)
import pandas as pd
df = pd.DataFrame({"g":["a","a","b"], "k":[1,2,1], "v":[10,20,30]})
piv = df.pivot(index="g", columns="k", values="v")
print(piv.fillna(0).sum().sum() >= 0)
notes
- Contrôle fin avec
levelsur MultiIndex.