Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 熊猫的多指标排序_Python_Sorting_Pandas_Multi Index - Fatal编程技术网

Python 熊猫的多指标排序

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

我有一个数据集,数据集中有多个索引列,我想按特定列中的值进行排序。我尝试过使用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 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')]