SORU
7 Ocak 2011, Cuma


Bulma Yerel maxima/1D numpy bir dizi Numpy ile minimum

1D numpy bir dizi yerel maksimum/minimum bulabilirsiniz numpy/scipy modülü bir işlevi önerir misiniz? Açıkçası en basit yaklaşım hiç yakın komşuları bakmak, ama numpy dağıtımı bir parçası olduğunu kabul edilen bir çözüm istiyorum.

CEVAP
21 Kasım 2012, ÇARŞAMBA


SciPy >= 0.11

import numpy as np
from scipy.signal import argrelextrema

x = np.random.random(12)

# for local maxima
argrelextrema(x, np.greater)

# for local minima
argrelextrema(x, np.less)

Üretir

>>> x
array([ 0.56660112,  0.76309473,  0.69597908,  0.38260156,  0.24346445,
    0.56021785,  0.24109326,  0.41884061,  0.35461957,  0.54398472,
    0.59572658,  0.92377974])
>>> argrelextrema(x, np.greater)
(array([1, 5, 7]),)
>>> argrelextrema(x, np.less)
(array([4, 6, 8]),)

Not, bu yerel max/min x endeksleri. Değerleri almak için deneyin:

>>> x[argrelextrema(x, np.greater)[0]]

scipy.signal argrelmax ve bulma maxima argrelmin sağlar ve sırasıyla minimum.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • chickenby

    chickenby

    2 HAZİRAN 2008
  • ItZWaffleS420

    ItZWaffleS42

    9 EYLÜL 2011
  • YouplusmeVEVO

    YouplusmeVEV

    4 EYLÜL 2014