Numpy の SciPy モジュールを利用して 1D Numpy 配列の極大値と極小値を見つける
ローカルを識別できる Numpy または SciPy モジュール関数の探索1D 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.24346445、0.56021785、0.24109326、0.41884061、0.35461957、0.54398472、 0.59572658、0.92377974]、極大値と極小値の出力インデックスは次のとおりです:
以上が1D Numpy 配列で極大値と極小値を見つける方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。