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_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)

輸出如下:

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, ms 毫秒
Q 季度末頻率 U, us 微秒
BQ 工作季度末頻率 N 納秒
QS 季度開始頻率
廣告