numpy array根据某一列的值降序排序
时间: 2023-08-03 20:09:37 浏览: 86
NumPy排序的实现
可以使用NumPy中的argsort函数来实现。argsort函数返回按指定轴排序后的索引值,可以用于对原数组进行排序。
假设存在一个二维数组arr,要按照第二列(索引为1)的值进行降序排序,可以使用以下代码实现:
```python
import numpy as np
# 生成一个随机数组
arr = np.random.randint(0, 10, size=(5, 2))
# 按第二列的值降序排序
arr_sorted = arr[np.argsort(-arr[:, 1])]
print(arr)
print(arr_sorted)
```
输出结果如下:
```
原数组:
[[9 0]
[9 9]
[2 3]
[4 9]
[7 9]]
按第二列的值降序排序后的数组:
[[4 9]
[7 9]
[9 9]
[2 3]
[9 0]]
```
其中,`-arr[:, 1]`表示将第二列的值取相反数,从而实现降序排序。
阅读全文