pandas.date_range

函数定义

pandas.date_range(start=None, end=None, periods=None, freq=None, tz=None, 
normalize=False, name=None, closed=None, **kwargs)

Return a fixed(固定的) frequency DatetimeIndex.

  • Returns the range of equally spaced time points (where the difference between any two adjacent points is specified by the given frequency) such that they all satisfy start <[=] x <[=] end, where the first one and the last one are, resp., the first and last time points in that range that fall on the boundary of freq (if given as a frequency string) or that are valid for freq (if given as a pandas.tseries.offsets.DateOffset).

  • (If exactly one of start, end, or freq is not specified, this missing parameter can be computed given periods, the number of timesteps in the range. See the note below.)

函数参数

  • start:str or datetime-like, optional
    Left bound for generating dates.

  • end:str or datetime-like, optional
    Right bound for generating dates.

  • periods:int, optional
    Number of periods to generate.

  • freq:str or DateOffset, default ‘D’
    Frequency strings can have multiples(倍数), e.g. ‘5H’. See here for a list of frequency aliases.

  • tz:str or tzinfo, optional
    Time zone name for returning localized DatetimeIndex, for example ‘Asia/Hong_Kong’. By default, the resulting DatetimeIndex is timezone-naive.

  • normalize:bool, default False
    Normalize start/end dates to midnight before generating date range.

  • name:str, default None
    Name of the resulting DatetimeIndex.

  • closed:{None, ‘left’, ‘right’}, optional
    Make the interval closed with respect to the given frequency to the ‘left’, ‘right’, or both sides (None, the default).

  • **kwargs
    For compatibility. Has no effect on the result.

注:Of the four parameters start, end, periods, and freq, exactly three must be specified. If freq is omitted(省略), the resulting DatetimeIndex will have periods linearly spaced elements between start and end (closed on both sides).

例子

Specify start and end, with the default daily frequency.

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')

Specify start and periods, the number of periods (days).

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')

Specify end and periods, the number of periods (days).

pd.date_range(end='1/1/2018', periods=8)
DatetimeIndex(['2017-12-25', '2017-12-26', '2017-12-27', '2017-12-28',
               '2017-12-29', '2017-12-30', '2017-12-31', '2018-01-01'],
              dtype='datetime64[ns]', freq='D')

Specify start, end, and periods; the frequency is generated automatically (linearly spaced).

pd.date_range(start='2018-04-24', end='2018-04-27', periods=3)
DatetimeIndex(['2018-04-24 00:00:00', '2018-04-25 12:00:00',
               '2018-04-27 00:00:00'],
              dtype='datetime64[ns]', freq=None)

Changed the freq (frequency) to 'M' (month end frequency).

pd.date_range(start='1/1/2018', periods=5, freq='M')
DatetimeIndex(['2018-01-31', '2018-02-28', '2018-03-31', '2018-04-30',
               '2018-05-31'],
              dtype='datetime64[ns]', freq='M')
pd.date_range(start='1/1/2018', periods=5, freq='3M')
DatetimeIndex(['2018-01-31', '2018-04-30', '2018-07-31', '2018-10-31',
               '2019-01-31'],
              dtype='datetime64[ns]', freq='3M')

freq can also be specified as an Offset object.

pd.date_range(start='1/1/2018', periods=5, freq=pd.offsets.MonthEnd(3))
DatetimeIndex(['2018-01-31', '2018-04-30', '2018-07-31', '2018-10-31',
               '2019-01-31'],
              dtype='datetime64[ns]', freq='3M')

closed controls whether to include start and end that are on the boundary. The default includes boundary points on either end.

pd.date_range(start='2017-01-01', end='2017-01-04', closed=None)
DatetimeIndex(['2017-01-01', '2017-01-02', '2017-01-03', '2017-01-04'],
              dtype='datetime64[ns]', freq='D')

Use closed='left' to exclude end if it falls on the boundary.

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')

Use closed='right' to exclude start if it falls on the boundary.

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')

posted on 2021-12-13 22:46  朴素贝叶斯  阅读(152)  评论(0编辑  收藏  举报

导航