我是python的新手。这似乎是一个非常简单的问题,但我发现的所有类似答案均与我的情况无关。
我有一个np.ndarray对象,其中每一行代表一个向量,就像这样:
vectors = [[2, 0, 1]
[1, 1, 2]
[3, 2, 0]]
我想根据第一部分对这些向量进行排序,而不改变向量本身。即我只想交换整个行,例如:
sorted_vectors = [[1, 1, 2]
[2, 0, 1]
[3, 2, 0]]
我尝试使用np.ndarray.sort,但是此方法将对每个列进行独立排序,从而有效地破坏了向量。
vectors.sort(axis=0) = [[1, 0, 0]
[2, 1, 1]
[3, 2, 2]]
是否存在一种将行或列视为整个对象并根据第n个元素对其进行排序的排序方法?
答案 0 :(得分:0)
您可以尝试
import numpy
vectors = [[2, 0, 1],
[1, 1, 2],
[3, 2, 0]]
vectors = sorted(vectors)
print (vectors)