23
有沒有辦法在Numpy中有效地實現1D數組的滾動窗口?Numpy中的一維數組滾動窗口?
例如,我有這樣的純Python代碼段來計算滾動標準偏差爲一維列表,其中observations
是值的一維列表,n
爲標準偏差的窗口長度:
stdev = []
for i, data in enumerate(observations[n-1:]):
strip = observations[i:i+n]
mean = sum(strip)/n
stdev.append(sqrt(250*sum([(s-mean)**2 for s in strip])/(n-1)))
有沒有一種方法可以在Numpy中完全實現這一點,即沒有任何Python循環?標準偏差很小,numpy.std
,但滾動窗口部分完全殘留下來。
我發現this博客文章關於Numpy中的滾動窗口,但它似乎不是一維數組。
您還可以看看[瓶頸項目(https://github.com/kwgoodman/瓶頸),它建立在移動平均線,標準等。 – derchambers