【问题标题】:Low pass Linear Filter in pythonpython中的低通线性滤波器
【发布时间】:2021-06-11 16:11:26
【问题描述】:

我对过滤时间序列有很多看法,但我真的很难正确理解 scipy scipy.signal.filtfilt

特别是它的参数a和b。 例如我应该如何重现以下过滤器? 即使使用其他库也更容易。

谁能帮帮我?我给你一个起点:

np.random.seed(123)
N = 100
rng = pd.date_range('2019-01-01', freq='min', periods=N)
df = pd.DataFrame(np.random.rand(N, 1), index=rng)

【问题讨论】:

    标签: python pandas filter scipy time-series


    【解决方案1】:

    您说您的绘图显示了低通线性滤波器。我假设该图显示了FIR filter 的系数。如果是这样,您可以将这些系数作为scipy.signal.lfilterb 参数传递(或scipy.signal.filtfilt,但使用带有FIR 滤波器的filtfilt 可能不是您想要的)。将a参数设置为1。

    您还可以将滤波器应用于具有卷积函数的信号,例如numpy.convolvescipy.signal.convolvescipy.ndimage.convolve1d。看看文章Applying a FIR Filter(但请注意,那里显示的性能结果不是最新的——NumPy 和 SciPy 都在继续发展,那里讨论的不同方法的相对性能可能会因版本而异)。

    【讨论】:

    • 感谢您的回答,您能举个例子更好地说明一下吗?
    猜你喜欢
    • 2019-04-29
    • 2013-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-29
    • 1970-01-01
    • 2011-08-31
    • 2012-04-08
    相关资源
    最近更新 更多