Python数据帧和行

时间:2016-10-15 19:18:50

标签: python pandas dataframe

如果我有一个n行的数据帧,有没有办法将第i行设置为row[i]row[i-1]之和,并执行此操作以便分配给前面的行反映在后面的行?如果可能的话,我真的想避免循环。

示例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]

等等。

2 个答案:

答案 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

答案 1 :(得分:1)

使用DF.shift()

DF + DF.shift()