将工作日添加到数据框的日期时间列

时间:2019-02-16 13:59:44

标签: python datetime lambda

我想在以下数据框中的以下日期时间值中添加指定的工作日数(忽略假期):

df = pd.DataFrame({'Date': ['2019-01-02 18:47','2019-01-08 06:11','2019-01-12 10:05','2019-02-10 14:22','2019-02-12 15:14','2019-03-08 16:17','2019-03-25 17:35'],
               'Business Days': [2,3,4,2,1,2,1]})

我尝试了以下操作:

def function(x, y): x + BDay(y)
df['End Date'] = df['Date'].apply(lambda x: function(x, df['Business Days']))

但是我得到这个错误:

TypeError: `n` argument must be an integer, got <class 'pandas.core.series.Series'>

是否有一种简单的方法可以将工作日添加到日期时间?我希望避免为每个工作日的值编写代码。

结果应如下所示:

result = pd.DataFrame({'Date': ['2019-01-02 18:47','2019-01-08 06:11','2019-01-12 10:05','2019-02-10 14:22','2019-02-12 15:14','2019-03-08 16:17','2019-03-25 17:35'],
                   'Business Days': [2,3,4,2,1,2,1],
                   'End Date': ['2019-01-04 18:47','2019-01-11 06:11','2019-01-17 10:05','2019-02-12 14:22','2019-02-13 15:14','2019-03-12 16:17','2019-03-26 17:35']})

0 个答案:

没有答案