这似乎被问了很多次,但是我发现现在不适用的答案。让我们简单的,在这里我有一个numpy的矩阵按目标列对numpy矩阵中的所有行进行排序
data = np.matrix([[9, 8],
[7, 6],
[5, 7],
[3, 2],
[1, 0]])
然后排序第二列如下
[[1, 0],
[3, 2],
[7, 6],
[5, 7],
[9, 8]])
我尝试了很多的例子一样Python Matrix sorting via one column但他们没有工作。
我想知道也许是因为答案是多年前发布的,不适用于最新的Python?我的Python是3.5.1。我的失败试验
例子:
data = np.matrix([[9, 8],
[7, 6],
[5, 7],
[3, 2],
[1, 0]])
temp = data.view(np.ndarray)
np.lexsort((temp[:, 1],))
print(temp)
print(data)
“不工作”是什么意思,哪个代码完全被试过,你知道np.matrix!= np.array? (我真的真的不认为,如果他们使用基本的numpy东西,这些其他答案是过时的;这会因为很多原因杀死numpy!) – sascha
在对你的问题再次看一眼:你的标题** Sorting numpy矩阵逐列**是误导。第一个链接中的**工作**例子就是这样做的,但根据您的示例,您只需要对矩阵内的列进行排序(而不重新排列相应的其他列)! – sascha
@sascha你说得对,所以我删除了我的第二个链接。 “不工作”是指批准的答案不会对我的矩阵进行排序。我在那里举了一个例子。 – Windtalker