基于两对配对列的Pandas排序

时间:2018-03-21 13:25:33

标签: python pandas sorting

我有两列,“之前”和“之后”。我们只需在此处呼叫 let cells = self.tableView.visibleCells for cell in cells { heightOfTableView += cell.frame.height } Bf。根据许多其他附加列,它们的排名如下:

Af

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

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 ,最低值为0.所以我们将0设置在最顶层。所以顶部对现在是0-2,反向顺序2-0必须紧随其后。

然后我们转到下一个前后对,即1-4,因为1是最低的,我们已经从Bf排序了2。相反的是4-1,紧随其后。

最后,在Bf中排序的下一个值是3-5,反之5-3正好在后面。

有人知道如何对此进行排序吗?

1 个答案:

答案 0 :(得分:2)

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