numpy 按从大到小排序
时间: 2023-10-07 22:04:23 浏览: 193
可以使用 numpy 库中的 sort 函数来实现从大到小排序:
```python
import numpy as np
arr = np.array([3, 1, 4, 1, 5, 9, 2, 6, 5])
sorted_arr = np.sort(arr)[::-1]
print(sorted_arr)
```
输出:
```
[9 6 5 5 4 3 2 1 1]
```
其中,sort 函数默认按升序排序,[::-1] 则表示将升序排好的数组进行翻转,得到从大到小的排序结果。
相关问题
numpy数组排序从大到小
可以使用numpy的sort方法,传入参数"::-1",表示倒序排序:
```python
import numpy as np
arr = np.array([2, 5, 1, 8, 3])
arr_sorted = np.sort(arr)[::-1]
print(arr_sorted) # [8 5 3 2 1]
```
也可以使用argsort方法,再倒序取出对应的元素:
```python
import numpy as np
arr = np.array([2, 5, 1, 8, 3])
arr_sorted_idx = np.argsort(-arr)
arr_sorted = arr[arr_sorted_idx]
print(arr_sorted) # [8 5 3 2 1]
```
其中,argsort方法返回的是元素排序后的索引数组,传入参数"-arr"表示倒序排列。最后通过索引数组取出元素即可。
numpy.argsort 表示排序从大到小
numpy.argsort 默认是从小到大排序,如果需要从大到小排序,可以在参数中添加 reverse=True。例如:
```python
import numpy as np
x = np.array([3, 1, 4, 1, 5, 9, 2, 6, 5, 4])
indices = np.argsort(x, axis=0)[::-1]
print(indices)
```
输出:
```
[5 4 8 2 7 0 9 6 1 3]
```
可以看到,indices 数组是从大到小排序的,对应的元素为 9, 5, 5, 4, 6, 3, 4, 2, 1, 1。