Python Pandas - 日期功能
扩展时间序列,日期功能在财务数据分析中发挥着重要作用。 在处理日期数据时,我们会经常遇到以下情况 −
- 生成日期序列
- 将日期序列转换为不同的频率
创建日期范围
使用 date.range() 函数通过指定周期和频率,我们可以创建日期系列。 默认情况下,范围的频率为天。
import pandas as pd print pd.date_range('1/1/2011', periods=5)
它的输出如下 −
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')
它的输出如下 −
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)
它的输出如下 −
DatetimeIndex(['2011-01-01', '2011-01-02', '2011-01-03', '2011-01-04', '2011-01-05'], dtype='datetime64[ns]', freq='D')
请注意,在 3 月 3 日之后,日期会跳到 3 月 6 日,不包括 4 日和 5 日。 只需查看您的日历即可。
date_range 和 bdate_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)
它的输出如下 −
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 | month start frequency | T, min | minutely frequency |
SMS | SMS半月开始频率 | S | 第二频率 |
BMS | 工作月份开始频率 | L, ms | 毫秒 |
Q | 季度结束频率 | U, us | 微秒 |
BQ | 业务季度结束频率 | N | 纳秒 |
QS | 季度开始频率 |