排序二维数组Python作为数组中的数组输出
因此,我试图通过数组中的第三项对这样的数组进行排序:排序二维数组Python作为数组中的数组输出,python,arrays,sorting,numpy,Python,Arrays,Sorting,Numpy,因此,我试图通过数组中的第三项对这样的数组进行排序: [[591 756 3] [296 669 7] [752 560 2] [476 474 0] [214 459 1] [845 349 6] [122 145 4] [476 125 5] [766 110 8]] 所以看起来像 [[476 474 0] [214 459 1] [752 560 2] [591 756 3] ....and so on] 这是
[[591 756 3]
[296 669 7]
[752 560 2]
[476 474 0]
[214 459 1]
[845 349 6]
[122 145 4]
[476 125 5]
[766 110 8]]
所以看起来像
[[476 474 0]
[214 459 1]
[752 560 2]
[591 756 3]
....and so on]
这是我当前使用的代码:
sortedanswers = sorted(answithcpoints,key=lambda x:x[2])
但瑞典人会输出类似于
[array([476, 474, 0]), array([214, 459, 1]), array([752, 560, 2]), array([591, 756, 3]), array([122, 145, 4]), array([476, 125, 5]), array([845, 349, 6]), array([296, 669, 7]), array([766, 110, 8])]
似乎是数组中的某种数组
有人知道它为什么这样做吗?如果您处理的是numpy数组,请不要将
排序的带入其中。调用最后一列,并使用排序后的索引重新排列数组-
arr[arr[:, -1].argsort()]
array([[476, 474, 0],
[214, 459, 1],
[752, 560, 2],
[591, 756, 3],
[122, 145, 4],
[476, 125, 5],
[845, 349, 6],
[296, 669, 7],
[766, 110, 8]])
arr[:,-1]
从arr
arr[:, -1]
array([3, 7, 2, 0, 1, 6, 4, 5, 8])
arr[:,-1].argsort()
-根据索引对arr
的最后一列进行排序。结果是x
arr[:, -1].argsort()
array([3, 4, 2, 0, 6, 7, 5, 1, 8])
arr[arr[:,-1].argsort()]
根据上一步中已排序索引的内容对arr
中的行进行索引
如果您处理的是numpy数组,请不要将排序的
带入其中。调用最后一列,并使用排序后的索引重新排列数组-
arr[arr[:, -1].argsort()]
array([[476, 474, 0],
[214, 459, 1],
[752, 560, 2],
[591, 756, 3],
[122, 145, 4],
[476, 125, 5],
[845, 349, 6],
[296, 669, 7],
[766, 110, 8]])
arr[:,-1]
从arr
arr[:, -1]
array([3, 7, 2, 0, 1, 6, 4, 5, 8])
arr[:,-1].argsort()
-根据索引对arr
的最后一列进行排序。结果是x
arr[:, -1].argsort()
array([3, 4, 2, 0, 6, 7, 5, 1, 8])
arr[arr[:,-1].argsort()]
根据上一步中已排序索引的内容对arr
中的行进行索引
Numpy阵列?您可以对最后一列进行argsort并重新编制索引。您所需的输出也是数组中的数组结构;你到底想要什么?Numpy阵列?您可以对最后一列进行argsort并重新编制索引。您所需的输出也是数组中的数组结构;你到底想要什么?这真是太好了谢谢你!出于教育目的,你介意解释一下这句话吗?数组[:,-1]的实际含义是什么?这非常有效,谢谢!出于教育目的,你介意解释一下这句话吗?数组[:,-1]实际上是什么意思?