浅述numpy中argsort()函数的用法
淺述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()的用法有了一個簡單的了解。由于我沒有去看官方解釋,所以理解可能欠缺,希望諸位指正。
總結
以上是生活随笔為你收集整理的浅述numpy中argsort()函数的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: numpy中的axis=0,axis=1
- 下一篇: Python中的sorted函数以及op