【问题标题】:Business days between two dates excluding holidays in python两个日期之间的工作日,不包括python中的假期
【发布时间】:2017-06-29 10:31:21
【问题描述】:

我正在使用

np.busday_count(day1, day2))

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

【问题讨论】:

    标签: python date


    【解决方案1】:

    从 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
    

    【讨论】:

    • startendpd.DatetimeIndex 的参数现在已被删除。请改用pd.date_range(start=day1, end=day2, freq=us_bd)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-27
    • 2012-08-22
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多