如何根据索引和非索引列对数据框中的值进行排序?
数据帧:
ID Colour A B C
45356 Green 1 34 4
34455 Yellow 23 0 1
53443 Brown 3 4 3
45555 Green 5 5 2
表有两个索引列(ID和Color)。我想基于ID(升序),A(降序)和C(升序)对表进行排序。
必需的输出是:
ID Colour A B C
34455 Yellow 23 0 1
45356 Green 1 34 4
45555 Green 5 5 2
53443 Brown 3 4 3
我试过这个:
df.set_index(inplace=True)
df.sort_values(['ID', 'A', 'C'], ascending=['True','False','True'])
由于无法识别列,因此无效“ID”。
答案 0 :(得分:4)
你想要
df.reset_index().sort_values(
['ID', 'A', 'C'],
ascending=['True','False','True']
).set_index(['ID', 'Colour'])
答案 1 :(得分:4)