利用Numpy 的SciPy 模組定位一維Numpy 數組中的局部最大值和最小值
尋求能夠識別局部的Numpy 或SciPyumpy 或SciPy模組函數對於一維Numpy 數組中的最大值和最小值,我們可以探索Numpy 發行版中所採用的經過驗證的解決方案。
使用SciPy 極值偵測函數的解
對於您的SciPy 的實例安裝版本為0.11 或更高版本時,您可以利用argrelextrema 函數:
import numpy as np from scipy.signal import argrelextrema x = np.random.random(12) # Detect local maxima maxima_indices = argrelextrema(x, np.greater) # Detect local minima minima_indices = argrelextrema(x, np.less)
此腳本產生包含局部最大值或最小值索引的陣列。要檢索對應的值,請利用:
maxima_values = x[maxima_indices[0]] minima_values = x[minima_indices[0]]
SciPy.Signal 的替代選項
SciPy.signal 也提供用於處理最大值和最小值檢測的專用函數:
使用這些方法來特定提取最大值或最小值。
範例輸出
對於範例陣列[0.56660112, 0.76309473, 0.69597908, 0.38260156, 0. 26, 0.4188 4061, 0.35461957, 0.54398472, 0.59572658, 0.92377974],局部最大值的輸出索引最小值為:
以上是如何在一維 Numpy 數組中找到局部最大值和最小值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!