我想用时间序列计算中的值迭代地填充数据框 . 所以基本上,我想初始化数据框,包括列A,B和时间戳行,全部为0或全部为NaN .
然后我会添加初始值并检查此数据,计算前一行中的新行,比如行[A] [t] =行[A] [t-1] 1左右 .
我目前正在使用下面的代码,但我觉得它有点难看,必须有一种方法可以直接使用数据框,或者只是更好的方式 . 注意:我使用的是Python 2.7 .
import datetime as dt
import pandas as pd
import scipy as s
if __name__ == '__main__':
base = dt.datetime.today().date()
dates = [ base - dt.timedelta(days=x) for x in range(0,10) ]
dates.sort()
valdict = {}
symbols = ['A','B', 'C']
for symb in symbols:
valdict[symb] = pd.Series( s.zeros( len(dates)), dates )
for thedate in dates:
if thedate > dates[0]:
for symb in valdict:
valdict[symb][thedate] = 1+valdict[symb][thedate - dt.timedelta(days=1)]
print valdict