NumPy的`filter`函数类似于R语言中的函数。

4

NumPy中类似于R的filter的模拟是什么?

我有以下的R代码:

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

x是一个一维时间序列向量,可能包含nan值。

如何使用NumPy(或任何其他Python库)执行相同的操作?


1
请注意,filter 函数位于 dplyr 包中,而不是基础 R。 - Ben Bolker
实际上,我错了。在dplyr中确实有一个filter,但现在我再看一遍,我发现OP正在寻找卷积函数(stats :: filter)。 - Ben Bolker
1个回答

3

我认为scipy滤波函数可以满足你的需求,特别是lfilter。从这篇指南中得到:

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

1
你可能需要扩展一下你的回答——仅提供链接的问题已经不被推荐使用了。 - Ben Bolker
谢谢,我现在已经准备好了。 - sharshofski

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接