源数据
date c num1 num2
1 a1 55 2920
2 a1 42 4093
3 a1 5 1205
1 a2 556 46145
2 a2 1 2980
3 a2 0 1273
1 a3 589 5525
2 a3 65 46205
3 a3 102 2770
pd.pivot_table(df, values=['num1', 'num2'], index=['date'],columns=['c'], aggfunc={'num1': np.sum,'num2': np.sum}, fill_value=0)后变成下边的样子
num1 num2
c a1 a2 a3 a1 a2 a3
date
1 55 556 589 2920 46145 5525
2 42 1 65 4093 2980 46205
3 5 0 102 1205 1273 2270
我想变成下边这个样子需要怎么做?
a1 a2 a3
date num1 num2 num1 num2 num1 num2
1 55 2920 556 46145 589 5525
2 42 4093 1 2980 65 46205
3 5 1205 0 1273 102 2270
谢谢楼下两位朋友,不过试了一下会有错误
不过我已经用别的方式实现了
实现方式如下:
df = df.swaplevel(1,0, axis=1).sort_index(axis=1)