淺述python中argsort()函數(shù)的實例用法
由于想使用python用訓(xùn)練好的caffemodel來對很多圖片進(jìn)行批處理分類,學(xué)習(xí)過程中,碰到了argsort函數(shù),因此去查了相關(guān)文獻(xiàn),也自己在python環(huán)境下進(jìn)行了測試,大概了解了其相關(guān)的用處,為了怕自己后面又忘了,就寫下來權(quán)當(dāng)加深理解了。(ps:我也是python小白,理解可能比較淺顯)
1.先定義一個array數(shù)據(jù)
import numpy as np x=np.array([1,4,3,-1,6,9])
2.現(xiàn)在我們可以看看argsort()函數(shù)的具體功能是什么:
x.argsort()
輸出定義為y=array([3,0,2,1,4,5])。
我們發(fā)現(xiàn)argsort()函數(shù)是將x中的元素從小到大排列,提取其對應(yīng)的index(索引),然后輸出到y(tǒng)。例如:x[3]=-1最小,所以y[0]=3,x[5]=9最大,所以y[5]=5。
上面這個不難理解,不熟悉的可以去python環(huán)境下自己嘗試。
3.由于在程序中遇到了類似于np.argsort()[num]的形式,一直看不明白,就自己去python環(huán)境自己試了下:
ps:這里的num的絕對值小于等于x中元素的個數(shù)
當(dāng)num>=0時,np.argsort()[num]就可以理解為y[num];
當(dāng)num<0時,np.argsort()[num]就是把數(shù)組y的元素反向輸出,例如np.argsort()[-1]即輸出x中最大值對應(yīng)的index,np.argsort()[-2]即輸出x中第二大值對應(yīng)的index,依此類推。。
直觀的實驗才能看到效果,下面是我拿上面例子做的驗證:

這是當(dāng)num為負(fù)值時的輸出。

這個是num>=0時的輸出。
總結(jié):根據(jù)上面的闡述,應(yīng)該對argsort()的用法有了一個簡單的了解。由于我沒有去看官方解釋,所以理解可能欠缺,希望諸位指正。也希望大家多多支持腳本之家。
相關(guān)文章
pyinstaller將python程序打包為可執(zhí)行文件
這篇文章主要介紹了pyinstaller將python程序打包為可執(zhí)行文件,pyinstaller是一個python打包工具,它將python程序及所需依賴都打包成一個可執(zhí)行文件2022-08-08
python使用html2text庫實現(xiàn)從HTML轉(zhuǎn)markdown的方法詳解
這篇文章主要介紹了python使用html2text庫實現(xiàn)從HTML轉(zhuǎn)markdown的方法,需要的朋友可以參考下2020-02-02
解析Python 偏函數(shù)用法全方位實現(xiàn)
這篇文章主要介紹了解析Python 偏函數(shù)用法全方位實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06

