numpy / scipy 中的指数移动求和?

5 投票
2 回答
3116 浏览
提问于 2025-04-17 05:52

我在找一个可以用numpy或scipy来计算指数移动和的函数。我想避免使用Python的循环,因为那样会很慢。

具体来说,我有两个序列A[]和T[]。T[i]是A[i]这个值的时间戳。我定义了一个半衰期tau。对于给定的时间t,指数移动和就是在t之前所有A[i]的值的总和,每个A[i]的权重是exp(-(t-T[i])/tau)。

非常感谢!

2 个回答

0

你可以通过一些好的“做法”来提升Python循环的性能,比如尽量避免使用点号。

也许你可以把你的函数用C语言写成一个“numpy库”,然后在Python中调用它。

7

你可以看看 numpy.convolve 这个链接。指数移动和就是一种卷积运算。

撰写回答