我有一个基于以下代码的工作轴:
pd.pivot_table(df,
index=["row_a","row_b"],
columns=["col_a"],
values=["metric_a", "metric_b"],
aggfunc={"metric_a":np.max, "metric_b":np.sum})
基于该代码,我正确地收到以下输出。
但是,我想基本上将列与指标交换以接收以下输出。这可能吗?
答案 0 :(得分:4)
我认为您需要的是在初始数据透视后调用pandas.DataFrame.swaplevel
,然后对列进行排序以将顶层分组(level = 0):
# Assuming df holds the result of the pivot
df.swaplevel(0, 1, axis=1).sort_index(axis=1)