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