pandas.date_range()用法
linda公馆 人气:0pandas.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
参数
参数 | 数据类型 | 意义 |
---|---|---|
start | str or datetime-like, optional | 生成日期的左侧边界 |
end | str or datetime-like, optional | 生成日期的右侧边界 |
periods | integer, optional | 生成周期 |
freq | str or DateOffset, default ‘D’ | 可以有多种比如‘5H’,频率别名参见链接 |
tz | str or tzinfo, optional | 返回本地化的DatetimeIndex的时区名,例如’Asia/Hong_Kong’ |
normalize | bool, default False | 生成日期之前,将开始/结束时间初始化为午夜 |
name | str, 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')
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
加载全部内容