我有numpy向量,我想在限制索引範圍內找到最大值。該向量可能包含NaN值。我一直無法在numpy的max函數中找到處理NaN和子範圍的解決方案。 Python是否有解決方案?函數查找本地最大值
示例:我想要第二個最大值(5.),位於數組中的第7個和第11個位置之間。
import numpy as np
b = np.array([3, np.nan, 5.3, 7., 8,5., 0, 1, 3, 5., 2.4, .1, .3, 0.5])
c = np.nanmax(a)
d = np.nanargmax(b)
我試圖建立自己的功能;它因爲NaN而失敗 - 而且很醜。見下文。
def rightmax(vector,s,f):
l = 0
peak = 0
ml = 0
for val in vector:
if l < s or l >= f:
continue
elif val > peak:
peak = val
ml = l
l = l+1
return peak, ml
是的,那就是我在找的東西。 ty – Claudia
我收到一條錯誤消息:「對象沒有屬性索引」。它會是什麼? – Claudia
你正在運行我的代碼?你有什麼版本的Python?礦在2.7(最低公分母)。 – Prune