<分区>
我正在尝试对加速度计数据(使用 x-acceleration(ax)、y-acceleration(ay)、z-acceleration(az))实现低通滤波器
我已经计算出我的 alpha 为 0.2
沿x方向的直流分量使用公式计算
new_ax[n] = (1-alpha)*new_ax[n-1] + (alpha * ax[n])
我能够针对具有几千条记录的小型数据集进行计算。但是我有一个包含一百万条记录的数据集,并且使用以下代码运行需要很长时间。如果能帮助我改进时间复杂度的代码,我将不胜感激。
### df is a pandas dataframe object
n_ax = []
seq = range(0, 1000000, 128)
for w in range(len(seq)):
prev_x = 0
if w+1 <= len(seq):
subdf = df[seq[w]:seq[w+1]]
for i in range(len(subdf)):
n_ax.append((1-alpha)*prev_x + (alpha*subdf.ax[i]))
prev_x = n_ax[i]