Mat*_*ttB 74 python sorting multi-index pandas
我在pandas df中有一个包含多索引列的数据集,我希望按特定列中的值进行排序.我尝试过使用sortindex和sortlevel但是无法得到我想要的结果.我的数据集看起来像:
Group1 Group2
A B C A B C
1 1 0 3 2 5 7
2 5 6 9 1 0 0
3 7 0 2 0 3 5
Run Code Online (Sandbox Code Playgroud)
我想按照降序排列组1中C列的所有数据和索引,所以我的结果如下:
Group1 Group2
A B C A B C
2 5 6 9 1 0 0
1 1 0 3 2 5 7
3 7 0 2 0 3 5
Run Code Online (Sandbox Code Playgroud)
是否可以使用我的数据所在的结构进行此类排序,还是应该将Group1交换到索引端?
And*_*den 110
当按MultiIndex排序时,您需要包含描述列表内的列的元组*:
In [11]: df.sort_values([('Group1', 'C')], ascending=False)
Out[11]:
Group1 Group2
A B C A B C
2 5 6 9 1 0 0
1 1 0 3 2 5 7
3 7 0 2 0 3 5
Run Code Online (Sandbox Code Playgroud)
*以免混淆大熊猫以为你想先由Group1然后由C排序.
注意:最初使用,.sort因为弃用然后在0.20删除,赞成.sort_values.