我有一个简单的dataFrame
规则样本:
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_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)
试试^{} :
相关问题 更多 >
编程相关推荐