Python 熊猫的多指标排序
我有一个数据集,数据集中有多个索引列,我想按特定列中的值进行排序。我尝试过使用sortindex和sortlevel,但没有得到我想要的结果。我的数据集看起来像:Python 熊猫的多指标排序,python,sorting,pandas,multi-index,Python,Sorting,Pandas,Multi Index,我有一个数据集,数据集中有多个索引列,我想按特定列中的值进行排序。我尝试过使用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 我想按组1中的C列对所有数据和索引进行降序排序,以便我的结果如下所示: Group1 Group2 A B
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
我想按组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
是否可以使用我的数据所在的结构进行此排序,或者是否应该将Group1交换到索引端?按多索引排序时,需要在列表*中包含描述列的元组:
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
*为了不让熊猫们误以为你想先按Group1排序,然后再按C排序
注意:最初使用时已弃用,后来在0.20中删除,以支持。谢谢,这正是我想要的。Hmmph。比我更快,而且是一个更好的引导解决方案。正是我所需要的,谢谢。这在文档中并不清楚(至少我没有找到它)。此外,仅定义顶层时出现的错误消息具有误导性:
无法按重复的列X进行排序。
。非常感谢您为我们必须使用列表的原因添加解释。我希望Pandas能够检测list vs tuple,并将一个tuple解释为一个列选择,而不是一个列列表…@KaushikGhose这听起来可能是,我想你可以使用loc:df.loc[('Group1','C')]