目前有一个由groupby()生成的数据帧,形式如下:
# avg total unique
year month
2014 1 241.0 64.668050 15585.00 237.0
2 358.0 65.197877 23340.84 347.0
3 347.0 60.336715 20936.84 340.0
4 179.0 61.071788 10931.85 172.0
2015 1 57.0 54.562982 3110.09 56.0
2 140.0 76.007143 10641.00 138.0
3 85.0 79.929412 6794.00 80.0
4 89.0 70.000000 6230.00 87.0
我想将其转换为以下形状:
2014 2015
# avg total unique # avg total unique
month
1 241.0 64.668050 15585.00 237.0 57.0 54.562982 3110.09 56.0
2 358.0 65.197877 23340.84 347.0 140.0 76.007143 10641.00 138.0
3 347.0 60.336715 20936.84 340.0 85.0 79.929412 6794.00 80.0
4 179.0 61.071788 10931.85 172.0 89.0 70.000000 6230.00 87.0
我尝试过各种各样的pivot,pivot_table,unstack,reorder_levels等排列,但没有人能让我使用正确的格式。
我怀疑我错过了一个非常简单的答案:)
答案 0 :(得分:2)
df.unstack(0).swaplevel(0, 1, 1).sort_index(1)