浅述python中argsort()函数的实例用法

yipeiwu_com6年前Python基础

由于想使用python用训练好的caffemodel来对很多图片进行批处理分类,学习过程中,碰到了argsort函数,因此去查了相关文献,也自己在python环境下进行了测试,大概了解了其相关的用处,为了怕自己后面又忘了,就写下来权当加深理解了。(ps:我也是python小白,理解可能比较浅显)

1.先定义一个array数据

import numpy as np
x=np.array([1,4,3,-1,6,9])

2.现在我们可以看看argsort()函数的具体功能是什么:

x.argsort()

输出定义为y=array([3,0,2,1,4,5])。

我们发现argsort()函数是将x中的元素从小到大排列,提取其对应的index(索引),然后输出到y。例如:x[3]=-1最小,所以y[0]=3,x[5]=9最大,所以y[5]=5。

上面这个不难理解,不熟悉的可以去python环境下自己尝试。

3.由于在程序中遇到了类似于np.argsort()[num]的形式,一直看不明白,就自己去python环境自己试了下:

ps:这里的num的绝对值小于等于x中元素的个数

num>=0时,np.argsort()[num]就可以理解为y[num];

num<0时,np.argsort()[num]就是把数组y的元素反向输出,例如np.argsort()[-1]即输出x中最大值对应的index,np.argsort()[-2]即输出x中第二大值对应的index,依此类推。。

直观的实验才能看到效果,下面是我拿上面例子做的验证:

这是当num为负值时的输出。

这个是num>=0时的输出。

总结:根据上面的阐述,应该对argsort()的用法有了一个简单的了解。由于我没有去看官方解释,所以理解可能欠缺,希望诸位指正。也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python将一组数分成每3个一组的实例

如下所示: a = [1,2,3,4,5,6,7,8,9,10,11] step = 3 b = [a[i:i+step] for i in range(0,len(a),step)...

python语言元素知识点详解

指令和程序 计算机的硬件系统通常由五大部件构成,包括:运算器、控制器、存储器、输入设备和输出设备。其中,运算器和控制器放在一起就是我们通常所说的中央处理器,它的功能是执行各种运算和控制...

解决Python设置函数调用超时,进程卡住的问题

背景: 最近写的Python代码不知为何,总是执行到一半卡住不动,为了使程序能够继续运行,设置了函数调用超时机制。 代码: import time import signal...

python采集百度搜索结果带有特定URL的链接代码实例

这篇文章主要介绍了python采集百度搜索结果带有特定URL的链接代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 #cod...

python 实现让字典的value 成为列表

如果想让字典的VALUE成为字典,只有最开始让其成为列表,如下面程序中的b >>> b={} >>> b={1:['sdad']} >>...