Pandas | 21 日期功能

日期功能扩展了时间序列,在财务数据分析中起主要做用。在处理日期数据的同时,咱们常常会遇到如下状况 -shell

  • 生成日期序列
  • 将日期序列转换为不一样的频率

建立一个日期范围

经过指定周期和频率,使用date.range()函数就能够建立日期序列。 默认状况下,范围的频率是天。参考如下示例代码 -函数

import pandas as pd

datelist = pd.date_range('2020/11/21', periods=5)
print(datelist)

输出结果:spa

DatetimeIndex(['2020-11-21', '2020-11-22', '2020-11-23', '2020-11-24', '2020-11-25'], dtype='datetime64[ns]', freq='D')
 

更改日期频率

import pandas as pd

datelist = pd.date_range('2020/11/21', periods=5,freq='M')
print(datelist)

输出结果:code

DatetimeIndex(['2020-11-30', '2020-12-31', '2021-01-31', '2021-02-28', '2021-03-31'], dtype='datetime64[ns]', freq='M')
 

bdate_range()函数

bdate_range()用来表示商业日期范围,不一样于date_range(),它不包括星期六和星期天。blog

import pandas as pd

datelist = pd.date_range('2011/11/03', periods=5)
print(datelist)

输出结果:字符串

DatetimeIndex(['2017-11-03', '2017-11-06', '2017-11-07', '2017-11-08', '2017-11-09'], dtype='datetime64[ns]', freq='B')
 

观察到11月3日之后,日期跳至11月6日,不包括4日和5日(由于它们是周六和周日)。数据分析

date_rangebdate_range这样的便利函数利用了各类频率别名。date_range的默认频率是日历中的天然日,而bdate_range的默认频率是工做日。参考如下示例代码 -pandas

import pandas as pd

start = pd.datetime(2017, 11, 1)
end = pd.datetime(2017, 11, 5)
dates = pd.date_range(start, end)
print(dates)

输出结果:it

DatetimeIndex(['2017-11-01', '2017-11-02', '2017-11-03', '2017-11-04', '2017-11-05'], dtype='datetime64[ns]', freq='D')
 

偏移别名

大量的字符串别名被赋予经常使用的时间序列频率。咱们把这些别名称为偏移别名。io

别名 描述说明
B 工做日频率
BQS 商务季度开始频率
D 日历/天然日频率
A 年度(年)结束频率
W 每周频率
BA 商务年末结束
M 月结束频率
BAS 商务年度开始频率
SM 半月结束频率
BH 商务时间频率
SM 半月结束频率
BH 商务时间频率
BM 商务月结束频率
H 小时频率
MS 月起始频率
T, min 分钟的频率
SMS SMS半开始频率
S 秒频率
BMS 商务月开始频率
L, ms 毫秒
Q 季度结束频率
U, us 微秒
BQ 商务季度结束频率
N 纳秒
BQ 商务季度结束频率
QS 季度开始频率
相关文章
相关标签/搜索