我有一个称为ts的时间序列,其一些值如下所示:
import numpy as np
import pandas as pd
ts = pd.Series(range(10))
ts.index = pd.date_range('2019-01-01',periods=len(ts))
ts
我可以这样获得多种差异:
ts.diff().dropna()
ts.diff().diff().dropna()
我该如何使用for循环?
for d in range(7):
tsx = ? # I dont know what to do here?
答案 0 :(得分:2)
我们有pd.eval
for d in range(7):
tsx = pd.eval('ts'+'.diff()'*d+'.dropna()')
答案 1 :(得分:2)
您可以简单地使用eval
函数:
for d in range(7):
tsx = eval('ts' + '.diff()'*d + '.dropna()')