我在 pandas df 中有一个包含多索引列的数据集,我想按特定列中的值进行排序。我的数据集如下所示:
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
我想按列对所有数据和索引进行排序C
in Group 1
按降序排列,所以我的结果如下所示:
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
到索引端?
当按 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
* 以免让 pandas 误以为您要先按 Group1 排序,然后再按 C 排序。
注:最初使用.sort http://pandas.pydata.org/pandas-docs/version/0.19/generated/pandas.DataFrame.sort.html由于已弃用,然后在 0.20 中删除,有利于.sort_values https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.sort_values.html.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)