两个日期之间的工作日,不包括python中的假期 [英] Business days between two dates excluding holidays in python

查看:106
本文介绍了两个日期之间的工作日,不包括python中的假期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我当前正在使用

np.busday_count(day1, day2))

计算两个日期之间的工作日数。如何排除工作日的假期?

to count the number of business days between two dates. How do I exclude holidays that are on business days?

推荐答案

从v0.14开始,您可以使用假期日历

As of v0.14 you can use holiday calendars

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

To get the count of days use len

print(len(pd.DatetimeIndex(start=day1,end=day2, freq=us_bd)))

输出:

10

这篇关于两个日期之间的工作日,不包括python中的假期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆