使用自定義日曆
以下是如何使用自定義日曆。
獲取兩個日期之間的假期
import pandas as pd
from datetime import date
# Creating some boundaries
year = 2016
start = date(year, 1, 1)
end = start + pd.offsets.MonthEnd(12)
# Creating a custom calendar
cal = FrBusinessCalendar()
# Getting the holidays (off-days) between two dates
cal.holidays(start=start, end=end)
# DatetimeIndex(['2016-01-01', '2016-03-28', '2016-05-01', '2016-05-05',
# '2016-05-08', '2016-07-14', '2016-08-15', '2016-11-01',
# '2016-11-11', '2016-12-25'],
# dtype='datetime64[ns]', freq=None)
計算兩個日期之間的工作日數
無論將來或過去哪一年,每月都可以獲得工作日數。以下是使用自定義日曆的方法。
from pandas.tseries.offsets import CDay
# Creating a series of dates between the boundaries
# by using the custom calendar
se = pd.bdate_range(start=start,
end=end,
freq=CDay(calendar=cal)).to_series()
# Counting the number of working days by month
se.groupby(se.dt.month).count().head()
# 1 20
# 2 21
# 3 22
# 4 21
# 5 21