2016-12-05 42 views
0

在應用函數之後是否有計算數組的最小索引值的方法(即相當於matlab查找)?具有函數arg的Numpy最小值

換句話說考慮是這樣的:

a = [1,-3,-10,3] 

np.find_max(a,lambda x:abs(x)) 

應該返回。

我可以爲此寫一個循環,但我認爲如果存在的話,使用內置的numpy函數會更快。

+1

只需使用NumPy的funcs中'np.argmax(np.abs(一))'? – Divakar

回答

1

使用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 
相關問題