python 计算 运行 中的 rep() 和 filter() 均值

rep() and filter() in python calculation running mean

为了一些统计等等,我决定用 r 中的 rep() 函数计算 运行ning 均值。但是,我想将其转移到 python,因为我的 r 库有限。我确实发现 np.repeat 应该类似于 rep(),但是,我不完全理解如何在 python 中实现与我在 r 中 运行 时相同的效果:

x <- 1:300
print(filter(x,rep(1/30,30)))

感谢您的帮助!

您已经命名了正确的命令。

x = range(1,301)
np.convolve(x, np.repeat(1/30, 30))[2:-2]

最后一个括号把前两个和最后两个元素截掉了,因为convolve超出了list,我觉得不太合理

这样,第一个条目的平均值为 1-30,最后一个条目的平均值为 271-300。