Python Pandas 简明教程
Python Pandas - Date Functionality
扩展时间序列,日期功能在金融数据分析中扮演着重要角色。在使用日期数据时,我们经常会遇到以下问题−
-
Generating sequence of dates
-
将日期序列转换为不同的频率
Create a Range of Dates
通过指定周期和频率使用 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')
Change the Date Frequency
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 日之后,日期跳到 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)
它的 output 如下所示 −
DatetimeIndex(['2011-01-01', '2011-01-02', '2011-01-03', '2011-01-04', '2011-01-05'],
dtype='datetime64[ns]', freq='D')
Offset Aliases
将许多字符串别名提供给有用的常见时间序列频率。我们将这些别名称为偏移别名。
Alias |
Description |
Alias |
Description |
B |
business day frequency |
BQS |
business quarter start frequency |
D |
calendar day frequency |
A |
annual(Year) end frequency |
W |
weekly frequency |
BA |
business year end frequency |
M |
month end frequency |
BAS |
business year start frequency |
SM |
semi-month end frequency |
BH |
business hour frequency |
BM |
business month end frequency |
H |
hourly frequency |
MS |
month start frequency |
T, min |
minutely frequency |
SMS |
短信半月开始频率 |
S |
secondly frequency |
BMS |
business month start frequency |
L, ms |
milliseconds |
Q |
quarter end frequency |
U, us |
microseconds |
BQ |
business quarter end frequency |
N |
nanoseconds |
QS |
quarter start frequency |