将x个工作月添加到pandas中的日期

时间:2017-11-23 11:11:14

标签: python pandas

有没有人知道如何使用pandas将x business months添加到datetime对象?我知道你可以在工作日这样做,例如:

datetime.datetime(2017, 11, 23) + pd.tseries.offsets.BDay(20)

或者您可以添加一个月作为:

datetime.datetime(2017, 11, 23) + pd.tseries.offsets.DateOffset(months=1)

但是这不是给出一个工作月的正确日期,而是给出一个日历月。我对商业月份的定义是排除周末和美国假期。

有什么想法吗?谢谢!

2 个答案:

答案 0 :(得分:1)

实际上我刚刚意识到1个工作月(定义为不包括周末和美国假期)的潜在解决方案可能是:

{{1}}

答案 1 :(得分:1)

工作日约定为Following时:

  1. 按照您的示例,添加n个太阳月
  2. 添加0个工作日。仅当首次计算的结果不在工作日时,这才会调整日期以匹配下一个工作日。

上面的代码进行了相应的修改:

from datetime import datetime
from pandas.tseries.offsets import DateOffset, BDay

datetime(2017, 11, 23) + DateOffset(months=1) + BDay(0)

这似乎对我有用。我正在python 3.7.4上使用pandas 0.25.1。