📅  最后修改于: 2023-12-03 15:33:23.573000             🧑  作者: Mango
pandas
库中的 date_range
函数能够快速生成一段时间范围内的日期序列。这个函数接受多个参数,可以定制化生成不同形式的日期序列。
使用 date_range
函数可以轻松生成一段固定长度的日期序列。下面的代码生成了一个从 2019年1月1日
开始,长度为 10
天的日期序列:
import pandas as pd
date_rng = pd.date_range(start='1/1/2019', end='1/10/2019', freq='D')
print(date_rng)
输出结果:
DatetimeIndex(['2019-01-01', '2019-01-02', '2019-01-03', '2019-01-04',
'2019-01-05', '2019-01-06', '2019-01-07', '2019-01-08',
'2019-01-09', '2019-01-10'],
dtype='datetime64[ns]', freq='D')
其中,start
参数表示开始日期,end
参数表示结束日期,freq
参数表示频率。在上面的代码中,频率为 'D'
表示每天,也可以是 'W'
(每周)、'M'
(每月)等等。
除了固定长度的日期序列之外,date_range
函数还能够生成不同时间间隔的日期序列,例如每天、每周、每月、每季度等等。下面的代码生成了一个从 2019年1月1日
到 2019年12月31日
的日期序列,每隔一个月:
import pandas as pd
date_rng = pd.date_range(start='1/1/2019', end='12/31/2019', freq='M')
print(date_rng)
输出结果:
DatetimeIndex(['2019-01-31', '2019-02-28', '2019-03-31', '2019-04-30',
'2019-05-31', '2019-06-30', '2019-07-31', '2019-08-31',
'2019-09-30', '2019-10-31', '2019-11-30', '2019-12-31'],
dtype='datetime64[ns]', freq='M')
在上面的代码中,参数 freq
为 'M'
表示每个月。如果想要生成每个季度的日期序列,可以将 freq
改为 'Q'
;如果想要生成每周的日期序列,可以将 freq
改为 'W'
等等。
生成的日期序列可以随意调整,例如可以移动日期序列的起始位置,或者修改日期序列的频率。下面的代码生成了一个从 2019年1月1日
开始,长度为 10
天的日期序列;接着将这个日期序列的起始位置向后移动了 2
天:
import pandas as pd
date_rng = pd.date_range(start='1/1/2019', end='1/10/2019', freq='D')
shifted_date_rng = date_rng + pd.Timedelta('2D')
print(shifted_date_rng)
输出结果:
DatetimeIndex(['2019-01-03', '2019-01-04', '2019-01-05', '2019-01-06',
'2019-01-07', '2019-01-08', '2019-01-09', '2019-01-10',
'2019-01-11', '2019-01-12'],
dtype='datetime64[ns]', freq=None)
在上面的代码中,pd.Timedelta('2D')
表示时间偏移量为 2
天。
pandas
库中的 date_range
函数提供了非常便利的日期序列生成工具。通过指定开始时间、结束时间、时间间隔等参数,可以轻松生成各种形式的日期序列。同时,也可以对生成的日期序列进行调整,例如移动起始位置等等。