gpt4 book ai didi

python - Pandas 基于两对列进行排序

转载 作者:行者123 更新时间:2023-12-01 02:02:56 24 4
gpt4 key购买 nike

我有两列,“之前”和“之后”。我们在这里将它们称为 BfAf。根据许多其他附列,它们的排名如下:

Bf  Af
3 5
0 2
1 4
5 3
2 0
4 1

现在,它们需要排序的方式是

Bf  Af
0* 2
2 0
-----
1* 4
4 1
-----
3* 5
5 3

所以,经过Bf,最低值为0。所以我们将0设置在顶部。所以顶对现在是 0-2,而相反的顺序 2-0 必须紧随其后。

然后我们继续处理下一个前后对,即 1-4,因为 1 是最低的,并且我们已经从 Bf 中排序了 2。逆转是 4-1,紧随其后。

最后,Bf 中要排序的下一个值是 3-5,紧随其后的是相反的 5-3。

有人知道如何排序吗?

最佳答案

IIUC

df.reindex(pd.DataFrame(np.sort(df.values,1)).sort_values([0,1]).index)
Out[444]:
Bf Af
1 0 2
4 2 0
2 1 4
5 4 1
0 3 5
3 5 3

关于python - Pandas 基于两对列进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49407565/

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