
滑动平均
美国滞胀时期-大邑中学
2023年2月21日发(作者:赤壁赋赏析)python窗⼝滑动算法_Python实现滑动平均
(MovingAverage)的例⼦
Python中滑动平均算法(MovingAverage)⽅案:
#!/usr/bin/envpython
#-*-coding:utf-8-*-
importnumpyasnp
#等同于MATLAB中的smooth函数,但是平滑窗⼝必须为奇数。
#yy=smooth(y)smoothsthedatainthecolumnvectory..
#Thefirstfewelementsofyyaregivenby
#yy(1)=y(1)
#yy(2)=(y(1)+y(2)+y(3))/3
#yy(3)=(y(1)+y(2)+y(3)+y(4)+y(5))/5
#yy(4)=(y(2)+y(3)+y(4)+y(5)+y(6))/5
#...
defsmooth(a,WSZ):
#a:原始数据,NumPy1-Darraycontainingthedatatobesmoothed
#必须是1-D的,如果不是,请使⽤()或者e()转化
#WSZ:smoothingwindowsizeneeds,whichmustbeoddnumber,
#asintheoriginalMATLABimplementation
out0=ve(a,(WSZ,dtype=int),'valid')/WSZ
r=(1,WSZ-1,2)
start=(a[:WSZ-1])[::2]/r
stop=((a[:-WSZ:-1])[::2]/r)[::-1]
enate((start,out0,stop))
#anotherone,边缘处理的不好
"""
defmovingaverage(data,window_size):
window=(int(window_size))/float(window_size)
ve(data,window,'same')
"""
#anotherone,速度更快
#输出结果不与原始数据等长,假设原数据为m,平滑步长为t,则输出数据为m-t+1
"""
defmovingaverage(data,window_size):
cumsum_vec=((data,0,0))
ma_vec=(cumsum_vec[window_size:]-cumsum_vec[:-window_size])/window_size
returnma_vec
"""
以上这篇Python实现滑动平均(MovingAverage)的例⼦就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持
我们。
本⽂标题:Python实现滑动平均(MovingAverage)的例⼦