6
我试图有效地计算一个熊猫DataFrame的每列的指数衰减的运行总和。 DataFrame包含世界上每个国家的每日评分。数据框看起来是这样的:Python的指数衰减大熊猫DataFrame
AF UK US
2014-07-01 0.998042 0.595720 0.524698
2014-07-02 0.380649 0.838436 0.355149
2014-07-03 0.306240 0.274755 0.964524
2014-07-04 0.396721 0.836027 0.225848
2014-07-05 0.151291 0.677794 0.603548
2014-07-06 0.558846 0.050535 0.551785
2014-07-07 0.463514 0.552748 0.265537
2014-07-08 0.240282 0.278825 0.116432
2014-07-09 0.309446 0.096573 0.246021
2014-07-10 0.800977 0.583496 0.713893
我不知道如何计算的滚动总和(带衰减),而无需通过数据帧进行迭代,因为我需要知道昨天的成绩来计算今天的成绩。但是为了计算昨天的分数,我需要知道前天的分数等。这是我一直在使用的代码,但我想要一个更有效的方法来解决它。
for j, val in df.iteritems():
for i, row in enumerate(val):
df[j].iloc[i] = row + val[i-1]*np.exp(-0.05)
@ZJS是什么呢? - 我将稍微修改一下,以便让它在python中工作3 – undershock 2014-09-03 18:38:07
'%timeit t(df)' 100个循环,最好是3:每个循环3.96 ms – ZJS 2014-09-03 18:46:06
@ZFS你是什么数据运行这个?编辑 – undershock 2014-09-03 18:46:52