numpy / scipy 中的指数移动求和?
我在找一个可以用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 这个链接。指数移动和就是一种卷积运算。