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

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

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-13 17:18:02596ブラウズ

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

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 は、最大値と最小値の検出を処理するための専用関数も提供します。

  • argrelmax: ローカルを検索しますmaxima
  • argrelmin: 極小値を見つけます

極大値または極小値の特定の抽出にはこれらのメソッドを使用します。

出力例

配列の例 [0.56660112, 0.76309473、0.69597908、0.38260156、0.24346445、0.56021785、0.24109326、0.41884061、0.35461957、0.54398472、 0.59572658、0.92377974]、極大値と極小値の出力インデックスは次のとおりです:

  • 最大値: [1, 5, 7]
  • 最小値: [4, 6, 8]

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

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