ホームページ  >  記事  >  バックエンド開発  >  SciPyを使用して1D Numpy配列で極大値と極小値を見つける方法は?

SciPyを使用して1D Numpy配列で極大値と極小値を見つける方法は?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-15 09:26:03114ブラウズ

How to Find Local Maxima and Minima in a 1D Numpy Array Using SciPy?

Numpy を使用して 1D Numpy 配列内の極大値/極小値を見つける

1D Numpy 配列内の極大値と極小値を特定するのは一般的なタスクです信号処理とデータ分析。シンプルなアプローチには要素を最近傍要素と比較することが含まれますが、より堅牢な解決策は numpy/scipy ライブラリ内で模索されます。バージョン 0.11 以降では、argrelextrema 関数は、1D 配列で局所極値を見つける効率的な方法を提供します:

この関数は、極大値または極小値である要素のインデックスを含むタプルを返します:

これらの局所極値での実際の値を取得するには:

import numpy as np
from scipy.signal import argrelextrema

x = np.random.random(12)

# Find indices of local maxima
maxima_indices = argrelextrema(x, np.greater)

# Find indices of local minima
minima_indices = argrelextrema(x, np.less)

SciPy の追加関数
>>> argrelextrema(x, np.greater)
(array([1, 5, 7]),)
>>> argrelextrema(x, np.less)
(array([4, 6, 8]),)

argrelextrema に加えて、SciPy は検索のみに特化した関数を提供します。最大値または最小値:
>>> x[argrelextrema(x, np.greater)[0]]

argrelmax: 極大値のインデックスを検索します

argrelmin: 極小値のインデックスを検索します

以上がSciPyを使用して1D Numpy配列で極大値と極小値を見つける方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。