首頁 >後端開發 >Python教學 >如何找到一維 Numpy 數組中的局部最大值和最小值?

如何找到一維 Numpy 數組中的局部最大值和最小值?

DDD
DDD原創
2024-11-19 21:56:02981瀏覽

How to Find Local Maxima and Minima in 1D Numpy Arrays?

使用Numpy 定位一維數組中的局部最大值和最小值

識別一維numpy 數組中的局部最大值和最小值是各種應用程式中的常見任務。雖然檢查相鄰元素是一種直觀的方法,但 Numpy 提供了更全面、更可靠的解決方案。

Numpy 的 argrelextrema 函數

在 SciPy 0.11 及更高版本中,argrelextrema 函數可以有效地找到一維 numpy 數組中的局部最大值和最小值。它需要兩個參數:

  1. 陣列:輸入 numpy 陣列。
  2. 比較器:指定辨識標準的比較函數(例如,np.greater 或 np.less)

用法:

要找局部最大值,請使用:

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn