排序二维数组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]实际上是什么意思?