【发布时间】:2019-05-23 20:00:54
【问题描述】:
是否有(更)方便/有效的方法来使用 pandas 计算日期之间的工作日数?
我可以的
len(pd.bdate_range(start='2018-12-03',end='2018-12-14'))-1 # minus one only if end date is a business day
但是对于开始和结束日之间的较长距离,这似乎相当低效。
有一些建议如何使用BDay 偏移对象,但它们似乎都指的是创建日期范围或类似的东西。
我更多地考虑以工作日表示的 Timedelta 对象。
假设我有两个系列,s1 和 s2,包含日期时间。如果熊猫有类似的东西
s1.dt.subtract(s2,freq='B')
# giving a new series containing timedeltas where the number of days calculated
# use business days only
会很好。
(numpy 有一个 busday_count() 方法。但我不想将我的 pandas 时间戳转换为 numpy,因为这会变得混乱。)
【问题讨论】: