如何将5Hz的低通滤波器应用于熊猫数据帧?

And*_*rew 5 python numpy filter lowpass-filter pandas

我有一个pandas.DataFrame按时间索引的索引,如下所示。另一列包含从测量电流的设备记录的数据。我想通过频率为5Hz的低通滤波器过滤到第二列,以消除高频噪声。我想返回一个数据框,但是我不介意它是否更改了过滤器应用程序的类型(numpy数组等)。

In [18]: print df.head()
Time
1.48104E+12    1.1185
1.48104E+12    0.8168
1.48104E+12    0.8168
1.48104E+12    0.8168
1.48104E+12    0.8168
Run Code Online (Sandbox Code Playgroud)

我通过绘制此数据,df.plot(legend=True, use_index=False, color='red')但想绘制过滤后的数据。

我在用 pandas 0.18.1但我可以更改。

我已经访问了https://oceanpython.org/2013/03/11/signal-filtering-butterworth-filter/和许多其他类似方法的资源。

小智 0

也许我过于简化了这一点,但您创建了一个简单的条件,使用过滤器创建了一个新的数据框,然后从新的数据框创建了图表。基本上只是将数据帧减少到仅满足条件的记录。我承认我不知道高频的确切数字是多少,但我们假设您的第二列名称是“频率”

condition = df["Frequency"] < 1.0
low_pass_df = df[condition]
low_pass_df.plot(legend=True, use_index=False, color='red')
Run Code Online (Sandbox Code Playgroud)