Lexicographic sort float array python

Ped*_*lho 3 python sorting numpy lexicographic

好吧,所以,我有一个4x2 numpy ndarray,我想按字典顺序对它进行排序.也就是说,如果我有阵列

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

我希望它成为

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

我该怎么做呢?

tom*_*m10 5

你可以使用numpy的lexsort.不过,Lexsort使用最后一列作为主键进行排序.获得所需内容的一种方法是明确指定列:

 x[np.lexsort((x[:,1], x[:,0]))]

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