Numpy学习教程——argsort用法及参数详解

本文详细介绍了numpy.argsort函数,该函数用于给数组排序,返回从小到大元素index的值。文中说明了函数各参数的含义,如a为要排序的数组,axis控制排序方向,kind指定排序算法,order用于结构化数组排序优先顺序,还给出了不同参数设置下的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

numpy.argsort(a, axis=-1, kind=None, order=None):用于给数组排序,返回值为从小到大元素index的值

假设一个数组a为[0,1,2,20,67,3],使用numpy.argsort(a),返回值应为[0,1,2,5,3,4]
a:要排序的数组
axis:排序方向(axis=0:按列排,axis=1:按行排, axis=None:将数组扁平化)
在这里插入图片描述
axis=None:先把数组扁平化变成一维数组,再进行排序,假设一个数组z为[[0,1,19],[20,67,3]],当使用numpy.argsort(z,axis=None)时,系统先用flatten()把z扁平化为[0,1,19,20,67,3],再进行排序,得到的结果应为为[0,1,5,2,3,4]

同时axis有时也可以为负数,通常用于多维数组:
假设一个数组K形状为[19,19,5,80]:
K.argmax(a,axis= 0 or -4) returns (19,5,80) with values from 0 to 18
K.argmax(a,axis= 1 or -3) returns (19,5,80) with values from 0 to 18
K.argmax(a,axis= 2 or -2) returns (19,19,80) with values from 0 to 4
K.argmax(a,axis= 3 or -1) returns (19,19,5) with values from 0 to 79
kind: 排序算法(‘quicksort’, ‘mergesort’, ‘heapsort’, ‘stable’),默认为quicksort
order:当一个数组被结构化,给出排序优先的顺序:
y = np.array([(2, 0), (0, 1)], dtype=[(‘z’, ‘<i4’), (‘x’, ‘<i4’)])
所以这里第一个结构体的z对应为2,第二个z对应为0,第一个结构体的x对应为0,第二个x对应为1,所以当执行np.argsort(y,order=(‘z’)),代表以z 的大小为标准排序,返回值为array([1, 0], dtype=int64),当执行np.argsort(y,order=(‘x’)),代表以x 的大小为标准排序,返回值为array([0, 1], dtype=int64),

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值