Pandas教學
Pandas環境安裝配置
Pandas數據結構
Pandas快速入門
Pandas系列
Pandas數據幀(DataFrame)
Pandas面板(Panel)
Pandas基本功能
Pandas描述性統計
Pandas函數應用
Pandas重建索引
Pandas迭代
Pandas排序
Pandas字符串和文本數據
Pandas選項和自定義
Pandas索引和選擇數據
Pandas統計函數
Pandas窗口函數
Pandas聚合
Pandas缺失數據
Pandas分組(GroupBy)
Pandas合併/連接
Pandas級聯
Pandas日期功能
Pandas時間差(Timedelta)
Pandas分類數據
Pandas可視化
Pandas IO工具
Pandas稀疏數據
Pandas注意事項&竅門
Pandas與SQL比較
Pandas日期功能
日期功能擴展了時間序列,在財務數據分析中起主要作用。在處理日期數據的同時,我們經常會遇到以下情況 -
- 生成日期序列
- 將日期序列轉換爲不同的頻率
創建一個日期範圍
通過指定週期和頻率,使用date.range()
函數就可以創建日期序列。 默認情況下,範圍的頻率是天。參考以下示例代碼 -
import pandas as pd
datelist = pd.date_range('2020/11/21', periods=5)
print(datelist)
執行上面示例代碼,得到以下結果 -
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)
執行上面示例代碼,得到以下結果 -
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()
,它不包括星期六和星期天。
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
的默認頻率是工作日。參考以下示例代碼 -
import pandas as pd
start = pd.datetime(2017, 11, 1)
end = pd.datetime(2017, 11, 5)
dates = pd.date_range(start, end)
print(dates)
執行上面示例代碼,得到以下結果 -
DatetimeIndex(['2017-11-01', '2017-11-02', '2017-11-03', '2017-11-04',
'2017-11-05'],
dtype='datetime64[ns]', freq='D')
偏移別名
大量的字符串別名被賦予常用的時間序列頻率。我們把這些別名稱爲偏移別名。
別名
描述說明
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
季度開始頻率