我有一个如下的数据框架:
A B C D
0 hola 32 43 54
1 hey 87 67 45
2 hi 10 54 89
3 hola 19 34 12
4 hi 11 59 09我需要使用A和B设置多级索引,这是按A分组的。我需要以下数据帧
A B C D
hola 32 43 54
19 34 12
hey 87 67 45
hi 10 54 89
11 59 09我尝试过使用df.set_index('A','B'),我得到了
A B C D
hola 32 43 54
hola 19 34 12
hey 87 67 45
hi 10 54 89
hi 11 59 09发布于 2017-07-08 19:20:52
您需要首先进行排序。
df.sort_values(['A','B']).set_index(['A','B'])
Out[60]:
C D
A B
hey 87 67 45
hi 10 54 89
11 59 9
hola 19 34 12
32 43 54发布于 2017-07-08 21:14:54
首先排序不是必须的-您正在设置MultiIndex,但它不是词法排序的:
df.set_index(['A','B']).index.is_lexsorted()
False作为一种替代方法,将索引设置为您已有的索引,并在事实发生后对其进行排序:
df.set_index(['A','B']).sort_index()
C D
A B
hey 87 67 45
hi 10 54 89
11 59 9
hola 19 34 12
32 43 54https://stackoverflow.com/questions/44985577
复制相似问题