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

时间:2011-11-08 15:10:11

标签: python numpy scipy vectorization

我正在寻找一个函数来计算numpy或scipy中的指数移动总和。我想避免使用python循环,因为它们非常慢。

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

非常感谢!

2 个答案:

答案 0 :(得分:6)

看看numpy.convolve。指数移动和是一个卷积。

答案 1 :(得分:0)

你可以通过做一些好的“练习”(比如避免点)来尝试改进python循环。

也许你可以用C编写代码(进入“numpy库”)并从python中调用它。