【发布时间】:2017-06-29 10:31:21
【问题描述】:
我正在使用
np.busday_count(day1, day2))
计算两个日期之间的工作日数。如何排除工作日的节假日?
【问题讨论】:
我正在使用
np.busday_count(day1, day2))
计算两个日期之间的工作日数。如何排除工作日的节假日?
【问题讨论】:
从 v0.14 开始,您可以使用假期日历
import pandas as pd
from pandas.tseries.holiday import USFederalHolidayCalendar
from pandas.tseries.offsets import CustomBusinessDay
day1 = '2010-01-01'
day2 = '2010-01-15'
us_bd = CustomBusinessDay(calendar=USFederalHolidayCalendar())
print(pd.DatetimeIndex(start=day1,end=day2, freq=us_bd))
输出:
DatetimeIndex(['2010-01-04', '2010-01-05', '2010-01-06', '2010-01-07',
'2010-01-08', '2010-01-11', '2010-01-12', '2010-01-13',
'2010-01-14', '2010-01-15'],
dtype='datetime64[ns]', freq='C')
要获取天数,请使用 len
print(len(pd.DatetimeIndex(start=day1,end=day2, freq=us_bd)))
输出:
10
【讨论】:
start 和 end 到 pd.DatetimeIndex 的参数现在已被删除。请改用pd.date_range(start=day1, end=day2, freq=us_bd)