Python 如何确定数据帧包含的日期
我有一个数据框架,我试图从今天(-5)天到下个月底获取数据 在今天的情况下,这将是Python 如何确定数据帧包含的日期,python,pandas,datetime,indexing,reindex,Python,Pandas,Datetime,Indexing,Reindex,我有一个数据框架,我试图从今天(-5)天到下个月底获取数据 在今天的情况下,这将是 ix = pd.DatetimeIndex(start=datetime(2020, 6, 05), end=datetime(2020, 7, 31), freq='D') df.reindex(ix) 如果我想自动化,有什么功能可以利用吗 我试过了 startdate = pd.to_datetime('today') - pd.DateOffset(days=5) enddate = pd.to_date
ix = pd.DatetimeIndex(start=datetime(2020, 6, 05), end=datetime(2020, 7, 31), freq='D')
df.reindex(ix)
如果我想自动化,有什么功能可以利用吗
我试过了
startdate = pd.to_datetime('today') - pd.DateOffset(days=5)
enddate = pd.to_datetime('today', format) + MonthEnd(2)
ix = pd.DatetimeIndex(start=startdate, end=enddate, freq='D')
df.reindex(ix)
…但现在似乎正在发挥作用。
感谢您的帮助 您的代码很接近,我认为主要问题是您构建的
DatetimeIndex
不正确:它没有使用start
或end
参数(请参阅)。也同意@MrFuppes关于格式
不必要的观点
我想您需要pandas.date\u range
,它仍然返回DatetimeIndex
startdate = pd.to_datetime('today') - pd.DateOffset(days=5)
enddate = pd.to_datetime('today') + pd.tseries.offsets.MonthEnd(2)
ix = pd.date_range(startdate,enddate,freq='D')
这似乎对我有效,可以用于重新编制索引。如果您只想获取没有运行代码的特定时间的日期,还可以在开始日期和结束日期上调用floor
方法:
ix = pd.date_range(startdate.floor('d'),enddate.floor('d'),freq='D')
现在你的意思是不?错误是什么?你是说
ix=pd.date\u范围(开始=开始日期,结束=结束日期,频率='D')
?顺便说一句,我想你不需要提供“今天”的格式。啊,太接近了!这太完美了,非常感谢!