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

  • Post category:Python

关于Pandas库中date_range()函数的用法及说明,可以分为以下三个部分:

  1. 函数说明:pandas.date_range()函数可以用来生成一个时间范围内的日期数据,可以直接指定起始日期和结束日期,也可以指定间隔和日期的数量等。

  2. 函数参数:pandas.date_range(start=None, end=None, periods=None, freq=None, tz=None, normalize=False, name=None, closed=None, **kwargs)函数的参数如下:

  3. start:开始时间,字符串格式,可以指定年月日,也可以指定时分秒,或者使用时间戳等。

  4. end:结束时间,同上。

  5. periods:指定个数的日期范围。

  6. freq:日期的间隔,可以是天、月、年等等。默认是天,可以使用D表示,也可以使用其他的代码,例如H表示小时、T表示分钟等等。

  7. tz:时区,可以指定时区字符串,例如Asia/Shanghai等等。

  8. normalize:是否规范化日期,将时分秒归零。

  9. name:生成日期索引的名称。

  10. closed:指定日期范围是否包含开始和结束日期,可以是leftright或None,默认是None。

  11. **kwargs:其他可选的参数。

  12. 示例说明:

  13. 示例1:生成2019年1月到12月份的日期数据,每隔2个月取一个日期

    “`python
    import pandas as pd

    # 生成日期数据
    date = pd.date_range(start=’2019-01-01′, end=’2019-12-31′, freq=’2M’)
    print(date)
    “`

    输出结果如下:

    DatetimeIndex(['2019-01-31', '2019-03-31', '2019-05-31', '2019-07-31',
    '2019-09-30', '2019-11-30'],
    dtype='datetime64[ns]', freq='2M')

    可以看到,生成了2019年1月到12月份的日期数据,每隔2个月取一个日期,并且末尾日期为11月30日,因为日期只需要到达或者超过结束日期即可,不需要凑满整个日期间隔。

  14. 示例2:生成2020年4月1日0点到2020年4月7日23点的日期数据,间隔为1个小时

    “`python
    import pandas as pd

    start = ‘2020-04-01 00:00:00’
    end = ‘2020-04-07 23:00:00’

    # 生成日期数据
    date = pd.date_range(start=start, end=end, freq=’H’)
    print(date)
    “`

    输出结果如下:

    DatetimeIndex(['2020-04-01 00:00:00', '2020-04-01 01:00:00',
    '2020-04-01 02:00:00', '2020-04-01 03:00:00',
    '2020-04-01 04:00:00', '2020-04-01 05:00:00',
    '2020-04-01 06:00:00', '2020-04-01 07:00:00',
    '2020-04-01 08:00:00', '2020-04-01 09:00:00',
    '2020-04-01 10:00:00', '2020-04-01 11:00:00',
    '2020-04-01 12:00:00', '2020-04-01 13:00:00',
    '2020-04-01 14:00:00', '2020-04-01 15:00:00',
    '2020-04-01 16:00:00', '2020-04-01 17:00:00',
    '2020-04-01 18:00:00', '2020-04-01 19:00:00',
    '2020-04-01 20:00:00', '2020-04-01 21:00:00',
    '2020-04-01 22:00:00', '2020-04-01 23:00:00',
    '2020-04-02 00:00:00', '2020-04-02 01:00:00',
    '2020-04-02 02:00:00', '2020-04-02 03:00:00',
    '2020-04-02 04:00:00', '2020-04-02 05:00:00',
    '2020-04-02 06:00:00', '2020-04-02 07:00:00',
    '2020-04-02 08:00:00', '2020-04-02 09:00:00',
    '2020-04-02 10:00:00', '2020-04-02 11:00:00',
    '2020-04-02 12:00:00', '2020-04-02 13:00:00',
    '2020-04-02 14:00:00', '2020-04-02 15:00:00',
    '2020-04-02 16:00:00', '2020-04-02 17:00:00',
    '2020-04-02 18:00:00', '2020-04-02 19:00:00',
    '2020-04-02 20:00:00', '2020-04-02 21:00:00',
    '2020-04-02 22:00:00', '2020-04-02 23:00:00',
    '2020-04-03 00:00:00', '2020-04-03 01:00:00',
    '2020-04-03 02:00:00', '2020-04-03 03:00:00',
    '2020-04-03 04:00:00', '2020-04-03 05:00:00',
    '2020-04-03 06:00:00', '2020-04-03 07:00:00',
    '2020-04-03 08:00:00', '2020-04-03 09:00:00',
    '2020-04-03 10:00:00', '2020-04-03 11:00:00',
    '2020-04-03 12:00:00', '2020-04-03 13:00:00',
    '2020-04-03 14:00:00', '2020-04-03 15:00:00',
    '2020-04-03 16:00:00', '2020-04-03 17:00:00',
    '2020-04-03 18:00:00', '2020-04-03 19:00:00',
    '2020-04-03 20:00:00', '2020-04-03 21:00:00',
    '2020-04-03 22:00:00', '2020-04-03 23:00:00',
    '2020-04-04 00:00:00', '2020-04-04 01:00:00',
    '2020-04-04 02:00:00', '2020-04-04 03:00:00',
    '2020-04-04 04:00:00', '2020-04-04 05:00:00',
    '2020-04-04 06:00:00', '2020-04-04 07:00:00',
    '2020-04-04 08:00:00', '2020-04-04 09:00:00',
    '2020-04-04 10:00:00', '2020-04-04 11:00:00',
    '2020-04-04 12:00:00', '2020-04-04 13:00:00',
    '2020-04-04 14:00:00', '2020-04-04 15:00:00',
    '2020-04-04 16:00:00', '2020-04-04 17:00:00',
    '2020-04-04 18:00:00', '2020-04-04 19:00:00',
    '2020-04-04 20:00:00', '2020-04-04 21:00:00',
    '2020-04-04 22:00:00', '2020-04-04 23:00:00',
    '2020-04-05 00:00:00', '2020-04-05 01:00:00',
    '2020-04-05 02:00:00', '2020-04-05 03:00:00',
    '2020-04-05 04:00:00', '2020-04-05 05:00:00',
    '2020-04-05 06:00:00', '2020-04-05 07:00:00',
    '2020-04-05 08:00:00', '2020-04-05 09:00:00',
    '2020-04-05 10:00:00', '2020-04-05 11:00:00',
    '2020-04-05 12:00:00', '2020-04-05 13:00:00',
    '2020-04-05 14:00:00', '2020-04-05 15:00:00',
    '2020-04-05 16:00:00', '2020-04-05 17:00:00',
    '2020-04-05 18:00:00', '2020-04-05 19:00:00',
    '2020-04-05 20:00:00', '2020-04-05 21:00:00',
    '2020-04-05 22:00:00', '2020-04-05 23:00:00',
    '2020-04-06 00:00:00', '2020-04-06 01:00:00',
    '2020-04-06 02:00:00', '2020-04-06 03:00:00',
    '2020-04-06 04:00:00', '2020-04-06 05:00:00',
    '2020-04-06 06:00:00', '2020-04-06 07:00:00',
    '2020-04-06 08:00:00', '2020-04-06 09:00:00',
    '2020-04-06 10:00:00', '2020-04-06 11:00:00',
    '2020-04-06 12:00:00', '2020-04-06 13:00:00',
    '2020-04-06 14:00:00', '2020-04-06 15:00:00',
    '2020-04-06 16:00:00', '2020-04-06 17:00:00',
    '2020-04-06 18:00:00', '2020-04-06 19:00:00',
    '2020-04-06 20:00:00', '2020-04-06 21:00:00',
    '2020-04-06 22:00:00', '2020-04-06 23:00:00',
    '2020-04-07 00:00:00', '2020-04-07 01:00:00',
    '2020-04-07 02:00:00', '2020-04-07 03:00:00',
    '2020-04-07 04:00:00', '2020-04-07 05:00:00',
    '2020-04-07 06:00:00', '2020-04-07 07:00:00',
    '2020-04-07 08:00:00', '2020-04-07 09:00:00',
    '2020-04-07 10:00:00', '2020-04-07 11:00:00',
    '2020-04-07 12:00:00', '2020-04-07 13:00:00',
    '2020-04-07 14:00:00', '2020-04-07 15:00:00',
    '2020-04-07 16:00:00', '2020-04-07 17:00:00',
    '2020-04-07 18:00:00', '2020-04-07 19:00:00',
    '2020-04-07 20:00:00', '2020-04-07 21:00:00',
    '2020-04-07 22:00:00', '2020-04-07 23:00:00'],
    dtype='datetime64[ns]', freq='H')

    可以看到,生成了2020年4月1日0点到2020年4月7日23点的日期数据,时间间隔为1个小时,覆盖了这一时间段内的所有小时。