最佳答案
我从熊猫DataFrame留档开始:数据结构简介
我想迭代地用时间序列计算中的值填充DataFrame。所以基本上,我想用列A、B和时间戳行初始化DataFrame,全部为0或全部为NaN。
然后,我将添加初始值并遍历这些数据,从前一行计算新行,例如row[A][t] = row[A][t-1]+1
左右。
我目前正在使用如下代码,但我觉得它有点难看,必须有一种方法直接使用DataFrame来执行此操作,或者只是一般更好的方法。
注意:我使用的是Python 2.7。
import datetime as dtimport pandas as pdimport 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