【发布时间】:2019-04-29 06:42:46
【问题描述】:
我正在尝试对我的数据使用低通滤波器。我的样本数据是每分钟的,我想用 1440(每天)的时间常数对其进行过滤。 它只是编写一个 for 循环来计算过滤并将数据附加到 y(filtered data) 列表中。
以下是我写的代码:
OD_deltaT=df["OD_deltaT"].values.tolist()
#a=1/(timeconstant)+1
a=1/1441
u, y=[0], []
for i, x in enumerate(OD_deltaT,1):
u.append(x)
y[1]=u[1]
y[i]=(1-a)*y[i-1]+(a)*u[i]
但我得到这个错误:
list index out of range.
提前谢谢你!
【问题讨论】:
-
您认为
u, y=[0], []完成了什么?关于u?我不确定它是否... -
y 的空列表和 u 的初始值为零。
-
你可以只使用来自 scipy 的过滤器:docs.scipy.org/doc/scipy/reference/generated/…
-
好的,所以..
y是[]...你认为y[1]=u[1]会做什么......你的错误是什么?关于超出范围的索引?
标签: python python-2.7 filtering signal-processing