我想在每天内进行特定采样的特定日期之间创建日期范围,但每天应从午夜开始:
['2017-01-01 00:00:00', '2017-01-01 05:00:00','2017-01-01 10:00:00', '2017-01-01 15:00:00', '2017-01-01 20:00:00', '2017-01-02 00:00:00', '2017-01-02 05:00:00' ...]
当然,默认情况下 pd.date_range(date1,date2,freq='5H') 给出输出:
['2017-01-01 00:00:00', '2017-01-01 05:00:00', '2017-01-01 10:00:00', '2017-01-01 15:00:00', '2017-01-01 20:00:00', '2017-01-02 01:00:00', '2017-01-02 06:00:00', ..]
知道如何处理这个问题吗?谢谢!
最佳答案
创建小时范围,然后在索引中按小时模 5 进行过滤:
date1= '2017-01-01'
date2= '2017-01-04'
r = pd.date_range(date1,date2,freq='H')
r = r[r.hour % 5 == 0]
print (r)
DatetimeIndex(['2017-01-01 00:00:00', '2017-01-01 05:00:00',
'2017-01-01 10:00:00', '2017-01-01 15:00:00',
'2017-01-01 20:00:00', '2017-01-02 00:00:00',
'2017-01-02 05:00:00', '2017-01-02 10:00:00',
'2017-01-02 15:00:00', '2017-01-02 20:00:00',
'2017-01-03 00:00:00', '2017-01-03 05:00:00',
'2017-01-03 10:00:00', '2017-01-03 15:00:00',
'2017-01-03 20:00:00', '2017-01-04 00:00:00'],
dtype='datetime64[ns]', freq=None)
关于Python pandas date_range 采样分别分配给每一天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63523810/