美文网首页
date_range

date_range

作者: forjie | 来源:发表于2019-12-06 16:49 被阅读0次

    重要的功能是产生时间序列

    pandas.date_range(start=None, end=None, periods=None, freq='D', tz=None, normalize=False, name=None, closed=None, **kwargs)
    该函数主要用于生成一个固定频率的时间索引,在调用构造方法时,必须指定start、end、periods中的两个参数值,否则报错。

    主要参数说明:
    start:起始时间
    end:结束时间
    periods:固定时期,取值为整数或None
    freq:日期偏移量,取值为string或DateOffset,默认为'D'
    normalize:若参数为True表示将start、end参数值正则化到午夜时间戳
    name:生成时间索引对象的名称,取值为string或None
    closed:可以理解成在closed=None情况下返回的结果中,若closed=‘left’表示在返回的结果基础上,再取左开右闭的结果,若closed='right'表示在返回的结果基础上,再取做闭右开的结果

    这里对freq重点介绍:
    参数D
    默认是D,也就是天,不写数字就默认是一天
    2天就是2D,依次类推,3天就是3D,
    参数S
    表示秒,1S就是1秒,2S就是2秒
    参数W
    表示周,显示的时间是周末
    参数H
    表示小时
    参数M
    表示月份,显示的是月份最后一天

    In [11]: import pandas as pd
     
    In [12]: pd.date_range(start='20170101',end='20170110')
    Out[12]:
    DatetimeIndex(['2017-01-01', '2017-01-02', '2017-01-03', '2017-01-04',
                   '2017-01-05', '2017-01-06', '2017-01-07', '2017-01-08',
                   '2017-01-09', '2017-01-10'],
                  dtype='datetime64[ns]', freq='D')
     
    In [13]: pd.date_range(start='20170101',periods=10)
    Out[13]:
    DatetimeIndex(['2017-01-01', '2017-01-02', '2017-01-03', '2017-01-04',
                   '2017-01-05', '2017-01-06', '2017-01-07', '2017-01-08',
                   '2017-01-09', '2017-01-10'],
                  dtype='datetime64[ns]', freq='D')
     
    In [14]: pd.date_range(start='20170101',periods=10,freq='1D')
    Out[14]:
    DatetimeIndex(['2017-01-01', '2017-01-02', '2017-01-03', '2017-01-04',
                   '2017-01-05', '2017-01-06', '2017-01-07', '2017-01-08',
                   '2017-01-09', '2017-01-10'],
                  dtype='datetime64[ns]', freq='D')
     
    In [15]: pd.date_range(start='20170101',end='20170110',freq='3D',name='dt')
    Out[15]: DatetimeIndex(['2017-01-01', '2017-01-04', '2017-01-07', '2017-01-10'],
     dtype='datetime64[ns]', name='dt', freq='3D')
     
    In [16]: pd.date_range(start='2017-01-01 08:10:50',periods=10,freq='s',normaliz
        ...: e=True)
    Out[16]:
    DatetimeIndex(['2017-01-01 00:00:00', '2017-01-01 00:00:01',
                   '2017-01-01 00:00:02', '2017-01-01 00:00:03',
                   '2017-01-01 00:00:04', '2017-01-01 00:00:05',
                   '2017-01-01 00:00:06', '2017-01-01 00:00:07',
                   '2017-01-01 00:00:08', '2017-01-01 00:00:09'],
                  dtype='datetime64[ns]', freq='S')
     
    In [17]: pd.date_range(start='2017-01-01 08:10:50',end='2017-01-02 09:20:40',fr
        ...: eq='s',normalize=True)
    Out[17]:
    DatetimeIndex(['2017-01-01 00:00:00', '2017-01-01 00:00:01',
                   '2017-01-01 00:00:02', '2017-01-01 00:00:03',
                   '2017-01-01 00:00:04', '2017-01-01 00:00:05',
                   '2017-01-01 00:00:06', '2017-01-01 00:00:07',
                   '2017-01-01 00:00:08', '2017-01-01 00:00:09',
                   ...
                   '2017-01-01 23:59:51', '2017-01-01 23:59:52',
                   '2017-01-01 23:59:53', '2017-01-01 23:59:54',
                   '2017-01-01 23:59:55', '2017-01-01 23:59:56',
                   '2017-01-01 23:59:57', '2017-01-01 23:59:58',
                   '2017-01-01 23:59:59', '2017-01-02 00:00:00'],
                  dtype='datetime64[ns]', length=86401, freq='S')
     
    In [18]: pd.date_range(start='2017-01-01 08:10:50',periods=15,freq='s',normaliz
        ...: e=False)
    Out[18]:
    DatetimeIndex(['2017-01-01 08:10:50', '2017-01-01 08:10:51',
                   '2017-01-01 08:10:52', '2017-01-01 08:10:53',
                   '2017-01-01 08:10:54', '2017-01-01 08:10:55',
                   '2017-01-01 08:10:56', '2017-01-01 08:10:57',
                   '2017-01-01 08:10:58', '2017-01-01 08:10:59',
                   '2017-01-01 08:11:00', '2017-01-01 08:11:01',
                   '2017-01-01 08:11:02', '2017-01-01 08:11:03',
                   '2017-01-01 08:11:04'],
                  dtype='datetime64[ns]', freq='S')
     
    In [19]: pd.date_range(start='20170101',end='20170110',freq='3D',closed='left')
        ...:
    Out[19]: DatetimeIndex(['2017-01-01', '2017-01-04', '2017-01-07'], dtype='dateti
    me64[ns]', freq='3D')
     
    In [20]: pd.date_range(start='20170101',end='20170110',freq='3D',closed='right'
        ...: )
    Out[20]: DatetimeIndex(['2017-01-04', '2017-01-07', '2017-01-10'], dtype='dateti
    me64[ns]', freq='3D')
    

    相关文章

      网友评论

          本文标题:date_range

          本文链接:https://www.haomeiwen.com/subject/sfvsgctx.html