R 的“过滤器”的 NumPy 模拟

NumPy analog of R's `filter`

R 的 filter 在 NumPy 中的模拟是什么?

我有以下 R 代码:

f <- rep(1/9, 9)
smth_x <- filter(x, f, sides=2)

其中 x 是一些可能包含 nan 的一维时间序列向量。

如何使用NumPy进行同样的操作? (或任何其他 python 库)

我认为 scipy filter functions do what you want, in particular lfilter. Going from this HOWTO:

import numpy, scipy.signal
taps = numpy.repeat(1.0/9, 9)
smoothed_x = scipy.signal.lfilter(taps, 1.0, x)