numpy.argsort 表示排序从大到小
时间: 2023-05-24 19:06:51 浏览: 603
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。
相关问题
numpy.argsort
`numpy.argsort` 函数返回数组排序后的索引值。它可以用来对数组进行间接排序,也就是说,它返回的索引值可以用来获取排序后的数组元素。
语法如下:
```python
numpy.argsort(arr, axis=-1, kind=None, order=None)
```
参数解释:
- `arr`:要排序的数组。
- `axis`:排序沿着它的轴,如果没有数组会被展开,沿着最后的轴排序。
- `kind`:指定排序类型,包括 `quicksort`、`mergesort` 和 `heapsort`。
- `order`:如果数组包含字段,则是要排序的字段。
示例:
```python
import numpy as np
arr = np.array([3, 1, 2])
print(np.argsort(arr)) # 输出 [1 2 0]
```
这里 `arr` 是一个包含三个元素的一维数组,`np.argsort(arr)` 返回的是排序后的索引值,即 1、2、0,表示排序后的数组元素应该按照第二个、第三个、第一个顺序排列。
1.NumPy库中提供了多种排序函数,下列哪种排序函数能够返回排序后的元素索引数组() A.numpy.sort() B.numpy.argsort() C.numpy.where() D.numpy.nonzero()
正确答案是 B. numpy.argsort()。
`numpy.argsort()` 函数返回的是输入数组排序后的元素索引,而不是排序后的数组本身,这个函数常用于间接排序,例如获取排序后的索引并根据这些索引对其他数据进行操作。而 `numpy.sort()` 函数返回的是排序后的数组本身。`numpy.where()` 函数返回的是符合条件的元素的索引,`numpy.nonzero()` 函数返回的是非零元素的索引数组。