gpt4 book ai didi

python - Pandas 中的多索引排序

转载 作者:IT老高 更新时间:2023-10-28 21:34:41 25 4
gpt4 key购买 nike

我在 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

我想按第 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 交换到索引端?

最佳答案

当按 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自弃用后在 0.20 中删除,支持 .sort_values .

关于python - Pandas 中的多索引排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14733871/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com