如何对二维数组按列进行降序排序?

3
array([[ 0.  ,  0.04],
       [ 0.  ,  0.1 ],
       [ 0.  ,  0.2 ],
       [ 0.  ,  0.4 ],
       [ 0.27,  1.  ],
       [ 0.3 ,  1.  ]])

如何简单地按第二列降序排序数组?结果的形状也是(6,2)。
1个回答

6

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

a[a[:,1].argsort()[::-1]]

或者,获取负版本的argsort索引并索引到行中 -

a[(-a[:,1]).argsort()]

谢谢。如何排序指定的列。例如,如果a的形状为(6,5),即有5列。如何对第四列进行排序。 - yanachen
@yanachen 使用 a[:,3] 代替 a[:,1] 来选择第四列数据。 - Divakar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接