Date Functionality

优质
小牛编辑
137浏览
2023-12-01

延长时间序列,日期功能在财务数据分析中发挥重要作用。 在使用Date数据时,我们会经常遇到以下情况 -

  • 生成日期序列
  • 将日期系列转换为不同的频率

创建一系列日期

通过指定句点和频率使用date.range()函数,我们可以创建日期系列。 默认情况下,范围的频率为天。

import pandas as pd
print pd.date_range('1/1/2011', periods=5)

output如下 -

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

更改日期频率

import pandas as pd
print pd.date_range('1/1/2011', periods=5,freq='M')

output如下 -

DatetimeIndex(['2011-01-31', '2011-02-28', '2011-03-31', '2011-04-30', '2011-05-31'],
dtype='datetime64[ns]', freq='M')

bdate_range

bdate_range()代表业务日期范围。 与date_range()不同,它不包括星期六和星期日。

import pandas as pd
print pd.date_range('1/1/2011', periods=5)

output如下 -

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

观察,在3月3日之后,日期跳至6日,不包括第4和第5。 只需查看日历即可。

date_rangebdate_range等便捷函数使用各种频率别名。 date_range的默认频率是日历日,而bdate_range的默认频率是工作日。

import pandas as pd
start = pd.datetime(2011, 1, 1)
end = pd.datetime(2011, 1, 5)
print pd.date_range(start, end)

output如下 -

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

偏移别名

许多字符串别名被赋予有用的公共时间序列频率。 我们将这些别名称为偏移别名。

别号描述别号描述
B工作日频率BQS业务季开始频率
D日历日频率A年度(年)结束频率
W每周频率BA业务年度结束频率
M月末频率BAS营业年度开始频率
SM半月结束频率BH营业时间频率
BM营业月结束频率H每小时频率
MS月开始频率T, min微小的频率
SMS短信半月开始频率S其次是频率
BMS营业月开始频率L, msmilliseconds
Q四分之一结束频率U, usmicroseconds
BQ业务季度结束频率Nnanoseconds
QS季度开始频率