Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何确定数据帧包含的日期_Python_Pandas_Datetime_Indexing_Reindex - Fatal编程技术网

Python 如何确定数据帧包含的日期

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

我有一个数据框架,我试图从今天(-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_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')
?顺便说一句,我想你不需要提供“今天”的格式。啊,太接近了!这太完美了,非常感谢!