关于pandas.date_range()的用法及说明

2022-07-19 13:02:27
目录
pandas.date_range()用法pandas.date_range()详解参数案例

pandas.date_range()用法

date_range()是pandas中常用的函数,用于生成一个固定频率的DatetimeIndex时间索引。

原型:

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

常用参数为start、end、periods、freq。

    start:指定生成时间序列的开始时间end:指定生成时间序列的结束时间periods:指定生成时间序列的数量freq:生成频率,默认‘D’,可以是’H’、‘D’、‘M’、‘5H’、‘10D’、…

    还可以根据closed参数选择是否包含开始和结束时间,left包含开始时间,不包含结束时间,right与之相反。

    默认同时包含开始时间和结束时间。

    函数调用时至少要指定参数start、end、periods中的两个。

    (1)指定起止时间

    pd.date_range('20200101','20200110')

    (2)指定开始时间和时间序列数量

    pd.date_range('20200101',periods=10)

    (3)指定结束时间和时间序列数量

    pd.date_range(end='20200110',periods=10)

    (4)指定开始时间、时间序列数量和频率

    pd.date_range(start='20200101',periods=5,freq='2D')

    (5)指定结束时间、时间序列数量和频率

    pd.date_range(end='20200110',periods=5,freq='2D')

    (6)指定起止时间和closed参数

    pd.date_range('20200101','20200110',closed='left')

    (7)时间序列做为索引,生成Series一维数组

    dates = pd.date_range(start='20200101',periods=5,freq='2D')
    pd.Series(range(10,20,2),index=dates)

    (8)时间序列做行索引,生成DateFrame二维数组

    dates = pd.date_range(start='20200101',periods=5,freq='2D')
    pd.DataFrame(np.random.randn(5,5), index=dates, columns=list('ABCDE'))

    pandas.date_range()详解

    官方文档

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

    返回一个固定频率的DatetimeIndex

    参数

    参数数据类型意义
    startstr>生成日期的左侧边界
    endstr or datetime-like, optional生成日期的右侧边界
    periodsinteger, optional生成周期
    freqstr or DateOffset, default ‘D’可以有多种比如‘5H’,频率别名参见链接
    tzstr or tzinfo, optional返回本地化的DatetimeIndex的时区名,例如’Asia/Hong_Kong’
    normalizebool, default False生成日期之前,将开始/结束时间初始化为午夜
    namestr, default None产生的DatetimeIndex的名字
    closed{None, ‘left’, ‘right’}, optional使区间相对于给定频率左闭合、右闭合、双向闭合(默认的None)
    **kwargs 为了兼容性,对结果没有影响

    案例

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

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持易采站长站。