日期功能擴展了時間序列,在財務數據分析中起主要做用。在處理日期數據的同時,咱們常常會遇到如下狀況 -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()
用來表示商業日期範圍,不一樣於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_range
和bdate_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 |
季度開始頻率 |