【发布时间】:2015-07-14 06:09:39
【问题描述】:
我有一个像这样的时间序列:
value identifier
2007-01-01 0.781611 55
2007-01-01 0.766152 56
2007-01-01 0.766152 57
2007-01-03 0.733152 57
2007-01-12 0.766152 57
2007-02-01 0.705615 55
2007-02-01 0.032134 56
2007-02-07 0.132134 56
2007-02-01 0.032134 57
2008-01-01 0.026512 55
2008-01-01 0.993124 56
2008-01-01 0.993124 57
2008-01-11 0.226512 56
2008-02-01 0.226420 55
2008-02-01 0.033860 56
2008-02-01 0.033860 57
2008-02-14 0.333860 55
2008-02-24 0.334860 57
现在我想计算不同时间增量的差异。我的第一个方法是
last_date = '2008-02-30'
dt = datetime.timedelta(days=30)
delta_30d = datetime.datetime.strptime(last_date, "%Y-%m-%d") - dt
df.loc[last_date]['value'] - df.loc[delta_30d]['value']
但如果时间增量上的完全相同的日期不存在,我会得到
'the label [2008-01-30 00:00:00] is not in the [index]'
所以这是不行的。如何从请求的时间增量中获取最接近的日期并计算差异?
【问题讨论】: