在Python中,如何根据特定日期提取前两年的数据?
我有一个csv文件,由过去3年的timeseries月度数据组成。根据今天的数据,我只想阅读前两年的数据,以预测未来在Python中,如何根据特定日期提取前两年的数据?,python,date,datetime,time,forecasting,Python,Date,Datetime,Time,Forecasting,我有一个csv文件,由过去3年的timeseries月度数据组成。根据今天的数据,我只想阅读前两年的数据,以预测未来 Data file example (has data from 01-01-15 to 31-10-19): Date,Value 01-01-17,2 01-02-17,5 01-03-17,8 01-04-17,4 01-05-17,2 01-06-17,9 01-07-
Data file example (has data from 01-01-15 to 31-10-19):
Date,Value
01-01-17,2
01-02-17,5
01-03-17,8
01-04-17,4
01-05-17,2
01-06-17,9
01-07-17,8
01-08-17,7
01-09-17,5
01-10-17,1
01-11-17,2
01-12-17,3
01-01-18,5
01-02-18,6
01-03-18,8
01-04-18,2
01-05-18,5
01-06-18,6
期望结果:如果今天的日期是19年1月1日,我希望我的培训数据是17年1月1日至18年12月31日的数据 我试过:
df[df['date']>(pd.to_datetime('2019-01-01',格式='%Y-%m-%d')-相对寿命(年=2))
但是,我得到的数据是从01-01-17到31-10-19(最后一条记录),而不是从01-01-17到31-12-18
>>从dateutil.relativedelta导入relativedelta
>>>df[df.Date>datetime.now()-relativedelta(年份=2)]
日期值
12 2018-01-01 5
13 2018-01-02 6
14 2018-01-03 8
15 2018-01-04 2
16 2018-01-05 5
17 2018-01-06 6
更新
>>从dateutil.relativedelta导入relativedelta
>>>起始日期时间导入日期
>>>开始日期=pd.Timestamp(datetime.now()-relativedelta(years=2))
>>>end_date=pd.Timestamp(日期(date.today().year-1,12,31))
>>>df[(df.Date>=开始日期)和(df.Date你有没有考虑过使用pandas?@yalpsideman,是的,我尝试过使用pandas和datetime,但我还没有找到一个方法。我是python的初学者。请展示你目前的代码,并就你无法解决的问题问一个具体的问题。这个问题现在的表述方式,看起来你只是在问有人来完成你的任务。这在堆栈溢出问题上是离题的。@zvone,我理解这种情况。但我无法解决它。因此,请寻求他人的帮助。如果你不想,也可以。@Vam96请阅读并尝试:df[df['date']>(pd.to_datetime('2019-01-01',format='%Y-%m-%d')-relativedelta(years=2))]然而,我得到的数据是从01-01-17到31-10-19(最后一条记录),而不是从01-01-17到31-12-18。
Date Value
12 2018-01-01 5
13 2018-01-02 6
14 2018-01-03 8
15 2018-01-04 2
16 2018-01-05 5
17 2018-01-06 6