Python 尝试与熊猫产生滚动总和

Python 尝试与熊猫产生滚动总和,python,pandas,Python,Pandas,我有一个简单的数据帧,带有常规样本: dates = pd.date_range('20150101', periods=6) df = pd.DataFrame([1,2,3,4,5,6], index=dates, columns=list('A')) df.loc[:,'B'] = 0 df.iloc[0,1] =10 df Out[119]: A B 2015-01-01 1 10 2015-01-02 2 0 2015-01-03 3

我有一个简单的
数据帧
,带有常规样本:

dates = pd.date_range('20150101', periods=6)
df = pd.DataFrame([1,2,3,4,5,6], index=dates, columns=list('A'))
df.loc[:,'B'] = 0
df.iloc[0,1] =10
df


Out[119]:
            A   B
2015-01-01  1   10
2015-01-02  2   0
2015-01-03  3   0
2015-01-04  4   0
2015-01-05  5   0
2015-01-06  6   0
我想做的是使用Pandas中的
rolling\u sum
函数在B列中创建值,以便得到下表:

            A   B
2015-01-01  1   11
2015-01-02  2   13
2015-01-03  3   16
2015-01-04  4   20
2015-01-05  5   25
2015-01-06  6   31
也就是说,
B(i+1)=A(i+1)+B(i)
-注意,在B(0)处有一种特殊情况,因为初始值为10。我尝试过使用以下方法,但它给出了错误的答案:

df.B = pd.rolling_sum(df.A + df.B, 1)
尝试:

In [15]: df
Out[15]: 
            A   B
2015-01-01  1  10
2015-01-02  2   0
2015-01-03  3   0
2015-01-04  4   0
2015-01-05  5   0
2015-01-06  6   0

In [16]: df.B = pd.expanding_sum(df.A) + df.B[0]

In [17]: df
Out[17]: 
            A   B
2015-01-01  1  11
2015-01-02  2  13
2015-01-03  3  16
2015-01-04  4  20
2015-01-05  5  25
2015-01-06  6  31