pandas.date_range(start=None, end=None, periods=None,
freq=None, tz=None, normalize=False, name=None, closed=None, **kwargs)
:param start: 开始时间 str or datetime-like
:param end: 结束时间 str or datetime-like
:param periods: 要生成的周期数
:param freq: 频率 str or DateOffset
:param tz: str or tzinfo 返回本地化DatetimeIndex的时区名称,
例如“Asia / Hong_Kong”
:param normalize: bool 默认为False 在生成日期范围之前将开始/结束日期标准化为午夜
:param name: str 生成的DatetimeIndex的名称
:param closed: {None, ‘left’, ‘right’} 给定时间区间的闭合
:return:时间序列 DatetimeIndex
生成时间序列
>>> pd.date_range(start='1/1/2018', end='1/08/2018')
DatetimeIndex(['2018-01-01', '2018-01-02', '2018-01-03', '2018-01-04',
'2018-01-05', '2018-01-06', '2018-01-07', '2018-01-08'],
dtype='datetime64[ns]', freq='D')
指定start和periods, periods为期间数
>>> pd.date_range(start='1/1/2018', periods=8)
DatetimeIndex(['2018-01-01', '2018-01-02', '2018-01-03', '2018-01-04',
'2018-01-05', '2018-01-06', '2018-01-07', '2018-01-08'],
dtype='datetime64[ns]', freq='D')
指定start, end, and periods;
>>> pd.date_range(start='2019-01-01', end='2019-07-03', periods=10)
DatetimeIndex(['2019-01-01 00:00:00', '2019-01-21 08:00:00',
'2019-02-10 16:00:00', '2019-03-03 00:00:00',
'2019-03-23 08:00:00', '2019-04-12 16:00:00',
'2019-05-03 00:00:00', '2019-05-23 08:00:00',
'2019-06-12 16:00:00', '2019-07-03 00:00:00'],
dtype='datetime64[ns]', freq=None)
指定freq频率
pd.date_range(start='2019-01-01', end='2019-07-03', freq='M')
DatetimeIndex(['2019-01-31', '2019-02-28',
'2019-03-31', '2019-04-30',
'2019-05-31', '2019-06-30'],
dtype='datetime64[ns]', freq='M')
指定tz设置时区
>>> pd.date_range(start='1/1/2018', periods=5, tz='Asia/Tokyo')
DatetimeIndex(['2018-01-01 00:00:00+09:00', '2018-01-02 00:00:00+09:00',
'2018-01-03 00:00:00+09:00', '2018-01-04 00:00:00+09:00',
'2018-01-05 00:00:00+09:00'],
dtype='datetime64[ns, Asia/Tokyo]', freq='D')
使用closed='left'排除结束,如果它落在界上
>>> pd.date_range(start='2017-01-01', end='2017-01-04', closed='left')
DatetimeIndex(['2017-01-01', '2017-01-02', '2017-01-03'],
dtype='datetime64[ns]', freq='D')
使用closed='right'排除启动,如果它落在界上
>>> pd.date_range(start='2017-01-01', end='2017-01-04', closed='right')
DatetimeIndex(['2017-01-02', '2017-01-03', '2017-01-04'],
dtype='datetime64[ns]', freq='D')
freq参数参考
别名 |
偏移量类型 |
说明 |
D |
Day |
每日历日 |
B |
BusinessDay |
每工作日 |
H |
Hour |
每小时 |
T/min |
Minute |
每分 |
S |
Second |
每秒 |
L/ms |
Million |
每毫秒 |
U |
Micro |
每微妙 |
M |
MonthEnd |
每月最后一个日历日 |
BM |
BusinessMonthEnd |
每月最后一个工作日 |
MS |
MonthBegin |
每月第一个日历日 |
BMS |
BusinessMonthBegin |
每月第一个工作日 |
W-MON、W-TUE… |
Week |
从指定的星期几开始算起,每周 |
WOM-1MON、WOM-2MON… |
WeekOfMonth |
产生每月第一、二、三、四周的星期几,例如WOM-1MON表示每月的第一个星期一 |
Q-JAN、Q-FEB… |
QuarterEnd |
对于以指定月份(JAN、FEB、…、DEC)结束的年度,每季度的最后一月的最后一个日历日 |
BQ-JAN、BQ-FEB… |
BusinessQuarterEnd |
对于以指定月份(JAN、FEB、…、DEC)结束的年度,每季度的最后一月的最后一个工作日 |
QS-JAN、QS-FEB… |
QuarterBegin |
对于以指定月份(JAN、FEB、…、DEC)结束的年度,每季度的最后一月的第一个日历日 |
BQS-JAN、BQS-FEB… |
BusinessQuarterBegin |
对于以指定月份(JAN、FEB、…、DEC)结束的年度,每季度的最后一月的第一个工作日 |
A-JAN、A-FEB… |
YearEnd |
每年指定月份最后一个日历日 |
BA-JAN、BA-FEB… |
BusinessYearEnd |
每年指定月份最后一个工作日 |
AS-JAN、AS-FEB… |
YearBegin |
每月指定月份第一个日历日 |
BAS-JAN、BAS-FEB… |
BusinessYearBegin |
每月指定月份第一个工作日 |