zoukankan      html  css  js  c++  java
  • 浅述python中argsort()函数的用法

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

    1.先定义一个array数据

    1 import numpy as np
    2 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()的用法有了一个简单的了解。由于我没有去看官方解释,所以理解可能欠缺,希望诸位指正。

  • 相关阅读:
    如何面试你的面试官
    给老婆的一篇文章
    机器学习:选对时机直线超车
    面试技巧:带走面试官的节奏
    微信红包的随机算法是怎样实现的?
    全栈技术导图
    AI时代:推荐引擎正在塑造人类
    冲顶大会APP技术选型及架构设计
    多域名解析及延伸知识点
    在编程中为所欲为[圣诞版]
  • 原文地址:https://www.cnblogs.com/yyxf1413/p/6253995.html
Copyright © 2011-2022 走看看