pandas generation time list
1. Generate a period of time in accordance with the whole story
pd.date_range (start, end, freq) freq ** parameters, joined by English alphanumeric (MDH Min ...). D represents one day, M for January as 20D represents 20 days, 5M represents five months.
#生成20171011-20171030
pd.date_range('20171011', '20171030',freq='5D')
DatetimeIndex(['2017-10-11', '2017-10-16', '2017-10-21', '2017-10-26'], dtype='datetime64[ns]', freq='5D')
The start generating backward period pd.date_range (date string, periods = 5, freq = 'T')
periods: period length, an integer type
freq: time unit. May Day when the minutes and seconds. MDH ...
import pandas as pd
#20171231 12:50时间点开始,生成以月为间隔,长度为5的时间段
tm_rng = pd.date_range('20171231 12:50',periods=5,freq='M')
print(type(tm_rng))
DatetimeIndex(['2017-12-31 12:50:00', '2018-01-31 12:50:00','2018-02-28 12:50:00', '2018-03-31 12:50:00',
print(tm_rng)
<class 'pandas.core.indexes.datetimes.DatetimeIndex'>
'2018-04-30 12:50:00'],dtype='datetime64[ns]', freq='M')
The given point in time forward (backward) generation time period
pd.bdate_range ( end , periods, freq) The end point of the start time, in units of freq, forward generating cycle period time series
pd.bdate_range ( start, periods, freq) The start point in time starts to freq units rearwardly generation period to period time series
#向前5天
print(pd.bdate_range(end='20180101',periods=5,freq='D'))
DatetimeIndex(['2017-12-28', '2017-12-29', '2017-12-30', '2017-12-31','2018-01-01'],dtype='datetime64[ns]', freq='D')
#向后5天
print(pd.bdate_range(start='20180101',periods=5,freq='D'))
DatetimeIndex(['2018-01-01', '2018-01-02', '2018-01-03', '2018-01-04','2018-01-05'],dtype='datetime64[ns]', freq='D')
4. The time list format specified time
Incoming date format can be modified, the parameters may be added in pd.date_range freq function, the default is 'D', for days
import pandas as pd
def get_date_list(begin_date,end_date):
date_list = [x.strftime('%Y-%m-%d') for x in list(pd.date_range(start=begin_date, end=end_date))]
return date_list
# 可以测试
print(get_date_list('2018-06-01','2018-06-08'))
# ['2018-06-01', '2018-06-02', '2018-06-03', '2018-06-04', '2018-06-05', '2018-06-06', '2018-06-07', '2018-06-08']