あなたはnumpy.convolve()
でnumpyのでデータをスムーズにすることができますが、次の機能を使用することができます。
:
import numpy
def smooth(x,window_len=11,window='hanning'):
if x.ndim != 1:
raise ValueError, "smooth only accepts 1 dimension arrays."
if x.size < window_len:
raise ValueError, "Input vector needs to be bigger than window size."
if window_len<3:
return x
if not window in ['flat', 'hanning', 'hamming', 'bartlett', 'blackman']:
raise ValueError, "Window is on of 'flat', 'hanning', 'hamming', 'bartlett', 'blackman'"
s=numpy.r_[x[window_len-1:0:-1],x,x[-2:-window_len-1:-1]]
#print(len(s))
if window == 'flat': #moving average
w=numpy.ones(window_len,'d')
else:
w=eval('numpy.'+window+'(window_len)')
y=numpy.convolve(w/w.sum(),s,mode='valid')
return y
はまた、scipyのダウンロードドキュメントをご覧ください
あなたは彼らの隣人よりも1次元配列a
小さいのすべてのエントリを探しているなら、あなたはscipyのダウンロードで
numpy.r_[True, a[1:] < a[:-1]] & numpy.r_[a[:-1] < a[1:], True]
を試すことができますが> = 0.11あなたは以下のように使用することができます。
import numpy as np
from scipy.signal import argrelextrema
x = np.random.random(12)
# for local minima
argrelextrema(x, np.less)
あなたを含めてください質問内の画像で、外部サイトへのリンクではありません。 – AK47
私は新しくて評判スコアが高くないため、写真を埋め込むことができませんでした。私は写真をアップロードしましたが、システムはそれらをリンクとして追加します。 – zubro