python使用numpy尋找二維數(shù)組的最值及其下標方法分析
一、通過np.max和np.where尋找【所有滿足條件的解】
通過np.max()找矩陣的最大值,再通過np.where獲得最大值的位置,代碼如下:
import numpy as np a = np.random.randint(1, 10, size=12) a = a.reshape((3,4)) print(a) print(np.max(a)) r, c = np.where(a == np.max(a)) print(r,c)
輸出:
[[7 8 9 4]
[9 3 9 3]
[5 6 1 5]]9
[0 1 1] [2 0 2]
輸出的是兩個array,分別是x和y數(shù)組,即找出了和這個最值相等的所有位置。
二、通過np.argmax尋找【第一個滿足條件的解】
把矩陣展成一維,np.argmax可以返回最大值在這個一維數(shù)組中第一次出現(xiàn)的位置,用這個位置除以矩陣的列數(shù),所得的商就是最大值所在的行,所得的余數(shù)就是最大值所在的列。
import numpy as np
a = np.random.randint(1, 10, size=12)
a = a.reshape((3,4))
print(a)
print(np.max(a))
m = np.argmax(a) # 把矩陣拉成一維,m是在一維數(shù)組中最大值的下標
r, c = divmod(m, a.shape[1]) # r和c分別為商和余數(shù),即最大值在矩陣中的行和列
# m是被除數(shù), a.shape[1]是除數(shù)
print(r, c)輸出:
[[5 5 9 7]
[5 5 8 9]
[2 3 9 3]]9
0 2
可以看到只找到了第一個出現(xiàn)的最大值,后續(xù)的是搜索不到的。
以上就是python使用numpy尋找二維數(shù)組的最值及其下標的詳細內容,更多關于python numpy最值下標的資料請關注腳本之家其它相關文章!
相關文章
Python 使用requests模塊發(fā)送GET和POST請求的實現(xiàn)代碼
這篇文章主要介紹了Python 使用requests模塊發(fā)送GET和POST請求的實現(xiàn)代碼,需要的朋友可以參考下2016-09-09
Django在urls.py利用函數(shù)path()配置路由時傳遞參數(shù)給調用的視圖函數(shù)的方法(推薦)
這篇文章主要介紹了Django在urls.py利用函數(shù)path()配置路由時傳遞參數(shù)給調用的視圖函數(shù)的方法(推薦),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-01-01
使用Filter過濾python中的日志輸出的實現(xiàn)方法
這篇文章主要介紹了使用Filter過濾python中的日志輸出,本文給大家分享幾種方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-07
python實現(xiàn)多層感知器MLP(基于雙月數(shù)據集)
這篇文章主要為大家詳細介紹了python實現(xiàn)多層感知器MLP,基于雙月數(shù)據集,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-01-01

