pandas - 时间序列-date_range

刚在写resample函数,发现需要时间序列的话,你得先生成一个时间序列,所有先看看这个函数

pandas.date_range

pandas.date_range(start=None, end=None, periods=None, freq=None, tz=None, normalize=False, name=None, closed=None, **kwargs) → pandas.core.indexes.datetimes.DatetimeIndex

Return a fixed frequency DatetimeIndex.

这个函数是根据我们传入的参数,可以生成DatetimeIndex

小栗子

  1. 指定start和end
    也就是指定开始日期和结束日期,然后生成一组日期
pd.date_range(start='1/1/2020', end='2/1/2020')

这里是[start , end]左右 都包含的

  1. 指定periods
    这个是我们要生成的日期数
pd.date_range(start='1/4/2020' , periods=10)

这里,我们指定了开始日期,然后,指定了要生成的日期数,10,也就是生成了10个日期

从2020-01-04开始,指定的10个日期,所以我们不指定结束日期也行

同样的,我们也可以指定结束日期

pd.date_range(end='5/1/2020' , periods=10)

这里,我们指定了结束日期,同样是10个日期,所以,自动就从结束日期往前找10个日期

当我们,同时指定startendperiods
这时候,会在我们指定的开始日期和结束日期中间,生成我们需要的日期数,会自动按相同的日期间隔来生成

pd.date_range(start='4/1/2020' , end='5/1/2020' , periods=10)
  1. 指定freq
    freq是日期的频率
    默认的话,是D,也就是天
pd.date_range(start='4/1/2020' , periods=10 , freq='M')

这个freq有很多的常用别名,我们记住些常用的就好


这里的alias还可以和数字组合,比如
我们间隔5天,生成一个日期

pd.date_range('4/1/2020' , periods=10 , freq='5D')
  1. closed参数
    上面,我们说过,默认是包含start和end的,其实,也可以通过closed指定,
    默认是None,包含start和end,
    Make the interval closed with respect to the given frequency to the ‘left’, ‘right’, or both sides (None, the default).
pd.date_range(start='4/1/2020' , end='4/10/2020' , closed=None)
pd.date_range(start='4/1/2020' , end='4/10/2020' , closed='left')
pd.date_range(start='4/1/2020' , end='4/10/2020' , closed='right')
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。