【发布时间】:2015-10-23 03:38:07
【问题描述】:
类似于这个问题Exponential Decay on Python Pandas DataFrame,我想快速计算数据框中某些列的指数衰减总和。但是,数据框中的行在时间上不是均匀分布的。因此,虽然exponential_sum[i] = column_to_sum[i] + np.exp(-const*(time[i]-time[i-1])) * exponential_sum[i-1],但np.exp(...) 的权重并没有考虑在内,对我来说如何改变这个问题并仍然利用 pandas/numpy 向量化并不明显。有没有针对这个问题的 pandas 矢量化解决方案?
为了说明所需的计算,下面是一个示例帧,其中A 的指数移动和存储在Sum 中,衰减常数为 1:
time A Sum
0 1.00 1 1.000000
1 2.10 3 3.332871
2 2.13 -1 2.234370
3 3.70 7 7.464850
4 10.00 2 2.013708
5 10.20 1 2.648684
【问题讨论】:
-
你能重新采样你的数据帧,使其间隔均匀吗?
-
@Alexander 我问的是总和,而不是平均值,尽管可能有明显的变换
-
@Alexander 我只是更仔细地阅读了这个问题,但我认为它没有解决我的问题,即如何进行矢量化 numpy/pandas 计算。我在 python 循环中计算指数和没有任何问题,我只是在足够大的帧上进行计算,以便能够对计算进行矢量化处理。
-
能否提供一些示例数据?
标签: python pandas exponential