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ş:
Yineleme numpy bir dizi...
Numpy çok baskı.dizi...
Nasıl numpy bir dizi için ekstra bir s...
Ne kadar boş bir dizi oluşturmak NumPy...
Nasıl bir jeneratör numpy bir dizi olu...