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

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

Linda Hamilton
リリース: 2024-11-15 09:26:03
オリジナル
182 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート