2016-10-15 40 views
4

如果我有一個數據幀與n行,有沒有辦法將第i行設置爲row[i]row[i-1]的總和,並這樣做,以便分配到較早的行反映在後面的行?如果可能,我真的很想避免循環。Python的數據幀總和行

例DF:求和兩排

   SPY AAPL GOOG 
2011-01-10 0.44 -0.81 1.80 
2011-01-11 0.00 0.00 0.00 
2011-01-12 -1.11 -2.77 -0.86 
2011-01-13 -0.91 -4.02 -0.68 

樣本僞代碼:

DF[2011-01-11] = DF[2011-01-10] + DF[2011-01-11] 
DF[2011-01-12] = DF[2011-01-11] + DF[2011-01-12] 

等。

+0

我想你的意思是沿着列求和。我建議你改變它(在可能的標題中),以便更容易地找到超過用戶 –

回答

2

根據您的問題,您正在尋找每列的累計總和。您可以使用cumsum()方法

DF.cumsum() 

       SPY AAPL GOOG 
2011-01-10 0.4400 -0.8100 1.8000 
2011-01-11 0.4400 -0.8100 1.8000 
2011-01-12 -0.6700 -3.5800 0.9400 
2011-01-13 -1.5800 -7.6000 0.2600 
+0

不,我確實是這麼說的。 – 1nsg

+0

i。即行[i] =行[i-1] +行[i]但行[i-1]不是原始行而是行[i-1]和行[i-2] – 1nsg