我想透视一个 Dataframe ,如下所示:
dim1 Value_V Value_y instance
0 A_1 50.000000 0 instance200
1 A_2 6500.000000 1 instance200
2 A_3 50.000000 0 instance200
3 A_4 4305.922313 1 instance200
转换成具有如下层次结构列的 Dataframe :
A_1 A_2 A_3 .....
Value_V Value_y Value_V Value_y Value_V Value_y
instance200 50 0 6500 1 50 0
我试过df = df.pivot(index = "instance", columns = "dim1")
,但它只会给予我一个这样的框架:
Value_V Value_y
A_1 A_2 A_3 .... A_1 A_2 A_3 ....
instance200 50 6500 50 0 1 0
如何更改列的层次结构?
3条答案
按热度按时间70gysomp1#
我自己想出来的:
我愿意
disbfnqx2#
您需要的是reorder_levels,然后对列进行排序,如下所示:
ubof19bj3#
我已经和这个问题斗争了很长时间。我的工作要求我处理大型的pivot_tables,其中有几十个索引和更多的值。最后,就通用性而言,最方便的解决方案是:
像这样使用它:df =(df.透视表(索引=[“位置标识”,“地点名称”,“地址”],列=“日期”,值=“总和”)