簡體   English   中英

如何將 5Hz 的低通濾波器應用於 pandas 數據幀?

[英]How to apply a low-pass filter of 5Hz to a pandas dataframe?

我有一個按時間索引的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

我正在通過df.plot(legend=True, use_index=False, color='red')繪制這些數據,但想改為繪制過濾后的數據。

我正在使用pandas 0.18.1 ,但我可以更改。

我訪問了https://oceanpython.org/2013/03/11/signal-filtering-butterworth-filter/和許多其他類似方法的來源。

也許我過度簡化了這一點,但您創建了一個簡單的條件,使用過濾器創建一個新的數據框,然后從新的數據框創建您的圖表。 基本上只是將數據框減少為僅滿足條件的記錄。 我承認我不知道高頻的確切數字是多少,但讓我們假設您的第二列名稱是“頻率”

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM