如何对二维数组的某一列进行降序排序?

yan*_*hen 3 numpy

array([[ 0.  ,  0.04],
       [ 0.  ,  0.1 ],
       [ 0.  ,  0.2 ],
       [ 0.  ,  0.4 ],
       [ 0.27,  1.  ],
       [ 0.3 ,  1.  ]])
Run Code Online (Sandbox Code Playgroud)

如何以简单的方式按第二列降序对数组进行排序?结果的形状也是(6,2)。

Div*_*kar 6

获取argsort第二列的索引,翻转它们并索引到行中 -

a[a[:,1].argsort()[::-1]]
Run Code Online (Sandbox Code Playgroud)

或者,获取argsort否定版本的索引并索引到行 -

a[(-a[:,1]).argsort()]
Run Code Online (Sandbox Code Playgroud)