对二进制值行进行排序

jm9*_*m96 1 python sorting numpy pandas

我有一些 numpy 数组,如下所示:

[[0,0,1],
 [0,1,0],
 [0,0,0]]

[[0,0,1],
 [0,0,0],
 [0,1,0]]
Run Code Online (Sandbox Code Playgroud)

我想对行进行排序,以便每次获得不同的数组时,它的排序都是一致的。因此,对于上面显示的两个数组,我想得到相同的结果:

[[0,0,0],
 [0,0,1],
 [0,1,0]]
Run Code Online (Sandbox Code Playgroud)

我考虑过将其作为数据框合并列然后进行排序,但我不确定这是否是最好的方法。

Mad*_*ist 5

您可以使用np.lexsort:

a[np.lexsort(a.T[::-1])]
Run Code Online (Sandbox Code Playgroud)