我正試圖對加速度計數據(x加速度(ax),y加速度(ay),z加速度(az))實施低通濾波器優化用於活動識別的低通濾波器平滑代碼
我已經計算我的阿爾法爲0.2
沿x方向DC分量使用公式
new_ax [N] =(1-α)* new_ax [N-1] +(阿爾法*計算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]
另請參見http://stackoverflow.com/questions/21336794/python-recursive-vectorization-with-timeseries和http://stackoverflow.com/questions/21391467/can-i-use-numpy-to-speed -this-loop –
@Warren:感謝您指引我進入正確的頁面。 – user1946217