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