0
在應用函數之後是否有計算數組的最小索引值的方法(即相當於matlab
查找)?具有函數arg的Numpy最小值
換句話說考慮是這樣的:
a = [1,-3,-10,3]
np.find_max(a,lambda x:abs(x))
應該返回。
我可以爲此寫一個循環,但我認爲如果存在的話,使用內置的numpy
函數會更快。
在應用函數之後是否有計算數組的最小索引值的方法(即相當於matlab
查找)?具有函數arg的Numpy最小值
換句話說考慮是這樣的:
a = [1,-3,-10,3]
np.find_max(a,lambda x:abs(x))
應該返回。
我可以爲此寫一個循環,但我認爲如果存在的話,使用內置的numpy
函數會更快。
使用argmax
,根據文檔:
numpy.argmax(一,軸=無,OUT =無)
返回 最大值的索引沿軸線。
參數:a:array_like輸入數組。 axis:int,可選通過 默認情況下,索引是放入扁平數組中,否則沿 指定的軸。 out:array,可選如果提供,則結果將插入到此數組中 。它應該是適當的形狀和dtype。返回:index_array:ints的ndarray數組索引到 。它具有與形狀相同的形狀,其中尺寸沿着軸移除。另見ndarray.argmax,argmin
amax沿給定軸的最大值。 unravel_index將一個 平面索引轉換爲一個索引元組。備註
如果出現多次最大值,則返回與第一次出現相對應的索引 。
import numpy as np
a = [1, -3, -10, 3]
print(np.argmax(np.abs(a)))
輸出:
2
只需使用NumPy的funcs中'np.argmax(np.abs(一))'? – Divakar