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

时间:2017-02-20 18:35:00

标签: python pandas numpy filter lowpass-filter

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

pandas.DataFrame

我按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 绘制了此数据的图表,但我想改为过滤数据。

我正在使用df.plot(legend=True, use_index=False, color='red'),但我可以改变。

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

1 个答案:

答案 0 :(得分:0)

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

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