使用Numpy 定位一維數組中的局部最大值和最小值
識別一維numpy 數組中的局部最大值和最小值是各種應用程式中的常見任務。雖然檢查相鄰元素是一種直觀的方法,但 Numpy 提供了更全面、更可靠的解決方案。
Numpy 的 argrelextrema 函數
在 SciPy 0.11 及更高版本中,argrelextrema 函數可以有效地找到一維 numpy 數組中的局部最大值和最小值。它需要兩個參數:
用法:
要找局部最大值,請使用:
argrelextrema(x, np.greater)
要找出局部最小值,使用:
argrelextrema(x, np.less)
輸出
argrelextrema函數傳回一個元組,其中包含與極值對應的一維索引數組。這些索引可用於存取局部最大值或最小值的值。
範例:
考慮以下numpy 陣列:
x = np.random.random(12)
找出局部最大值的索引和最小值:
max_indices = argrelextrema(x, np.greater)[0] min_indices = argrelextrema(x, np.less)[0]
找出局部最大值的索引和最小值:
max_values = x[max_indices] min_values = x[min_indices]
找出局部最大值的索引和最小值:
擷取實際值:透過使用Numpy 的 argrelextrema 函數,您可以準確地識別一維 numpy 數組中的局部最大值和最小值,從而簡化了這一常見任務。以上是如何找到一維 Numpy 數組中的局部最大值和最小值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!