好的,所以,我有一个4x2 numpy ndarray,我想按字典顺序对它进行排序。也就是说,如果我有数组
[[0,0],
[1,1],
[0,1],
[1,0]]
我希望它成为
[[0,0],
[0,1],
[1,0],
[1,1]]
我该怎么做?
答案 0 :(得分:5)
你可以使用numpy的lexsort
。不过,Lexsort使用最后一列作为主键进行排序。获得所需内容的一种方法是明确指定列:
x[np.lexsort((x[:,1], x[:,0]))]
# array([[0, 0],
# [0, 1],
# [1, 0],
# [1, 1]])