Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.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_Datetime - Fatal编程技术网

在Python中创建一系列日期和特定时间

在Python中创建一系列日期和特定时间,python,datetime,Python,Datetime,我试图定义一个从2小时开始而不是0小时开始的范围,但是下面的代码返回所有从0小时开始/结束的范围 import pandas as pd start_date = '2005-1-1 02:00:00' end_date = '2005-5-1 02:00:00' date_range = pd.bdate_range(start=start_date, end=end_date, freq='H') print(date_range) 上面代码的输出如下,但我希望它在特定的时间开始(这里是

我试图定义一个从2小时开始而不是0小时开始的范围,但是下面的代码返回所有从0小时开始/结束的范围

import pandas as pd
start_date = '2005-1-1 02:00:00'
end_date = '2005-5-1 02:00:00'

date_range = pd.bdate_range(start=start_date, end=end_date, freq='H')
print(date_range)
上面代码的输出如下,但我希望它在特定的时间开始(这里是02:00:00,而不是00:00:00):


您可以尝试以下方法:

import pandas as pd

start_date = '2005-1-1 02:00:00'
end_date   = '2005-5-1 02:00:00'

date_range = pd.date_range(start=start_date, end=end_date, freq='H')
print(date_range)
输出:

DatetimeIndex(['2005-01-01 02:00:00', '2005-01-01 03:00:00',
               '2005-01-01 04:00:00', '2005-01-01 05:00:00',
               '2005-01-01 06:00:00', '2005-01-01 07:00:00',
               '2005-01-01 08:00:00', '2005-01-01 09:00:00',
               '2005-01-01 10:00:00', '2005-01-01 11:00:00',
               ...
               '2005-04-30 17:00:00', '2005-04-30 18:00:00',
               '2005-04-30 19:00:00', '2005-04-30 20:00:00',
               '2005-04-30 21:00:00', '2005-04-30 22:00:00',
               '2005-04-30 23:00:00', '2005-05-01 00:00:00',
               '2005-05-01 01:00:00', '2005-05-01 02:00:00'],
              dtype='datetime64[ns]', length=2881, freq='H')
   

date\u range
是否有助于取代
bdate\u range
?@shahkalpesh我不确定你指的是什么。我正在进行时间序列分析,需要删除几行。因此,我必须定义一个自定义范围,否则我的代码将返回NaN。@Ali he指的是使用
pd.date\u range
(将保留时间,但不尊重工作日)而不是
pd.bdate\u range
(将从午夜开始,但尊重工作日)。@cytorak是的,它起作用了。感谢
date\u range=pd.date\u range(start=start\u date,end=end\u date,freq='H')
完成了这项工作。谢天谢地,使用Delta并不能为我提供正确的时间间隔。请编辑您的帖子,以便我可以接受您的回复。
DatetimeIndex(['2005-01-01 02:00:00', '2005-01-01 03:00:00',
               '2005-01-01 04:00:00', '2005-01-01 05:00:00',
               '2005-01-01 06:00:00', '2005-01-01 07:00:00',
               '2005-01-01 08:00:00', '2005-01-01 09:00:00',
               '2005-01-01 10:00:00', '2005-01-01 11:00:00',
               ...
               '2005-04-30 17:00:00', '2005-04-30 18:00:00',
               '2005-04-30 19:00:00', '2005-04-30 20:00:00',
               '2005-04-30 21:00:00', '2005-04-30 22:00:00',
               '2005-04-30 23:00:00', '2005-05-01 00:00:00',
               '2005-05-01 01:00:00', '2005-05-01 02:00:00'],
              dtype='datetime64[ns]', length=2881, freq='H')