python中.argsort
时间: 2024-05-22 09:13:17 浏览: 12
numpy中的argsort函数是将数组中的元素索引按照元素大小从小到大排序并返回。
例如,对于一个一维数组a=[3, 1, 4, 2, 5],其argsort的结果为[1, 3, 0, 2, 4],表示排序后的结果为a[1]=1, a[3]=2, a[0]=3, a[2]=4, a[4]=5。
argsort函数有一个可选的参数axis,用于指定排序的轴,默认为-1,表示对最后一维进行排序。例如,对于一个二维数组a=[[3, 1], [4, 2], [5, 0]],其argsort的结果为[[1, 0], [1, 0], [0, 1]],表示按照每行元素从小到大排序,第一行的元素为a[1,0]=4和a[1,1]=2,第二行的元素为a[2,0]=5和a[2,1]=0,第三行的元素为a[0,0]=3和a[0,1]=1。
相关问题
python中.argsort使用举例
argsort是Numpy的函数,可以用来返回数组排序后的索引值。
举个例子,如果有一个一维数组a=[10,4,6,8,1],我们想要将它排序后的索引值返回,就可以使用argsort函数。
```python
import numpy as np
a = np.array([10, 4, 6, 8, 1])
idx = np.argsort(a)
print(idx)
```
运行结果为:
```
[4 1 2 3 0]
```
其中,idx返回的是a数组排序后的索引值,也就是说,a[4]是最小值,a[0]是最大值。
我们还可以使用argsort函数按照多个条件排序,如下所示:
```python
import numpy as np
a = np.array([10, 4, 6, 8, 1])
b = np.array([4, 3, 1, 2, 5])
idx = np.lexsort((a, b))
print(idx)
```
运行结果为:
```
[2 3 1 0 4]
```
其中,lexsort函数按照最后一个传入的数组b排序,如果有相同的值,再按照前面传入的a数组排序。idx返回的是排序后的索引值。
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,表示排序后的数组元素应该按照第二个、第三个、第一个顺序排列。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)