gpt4 book ai didi

python - 向 python 添加工作日

转载 作者:行者123 更新时间:2023-12-01 00:17:32 24 4
gpt4 key购买 nike

在 pandas 数据帧上工作 -

我有一个像这样的日期格式:datetime64[ns] 和一个具有 int64 格式的列。

数据框如下所示:

           date    days        
0 2019-07-04 1
1 2019-10-17 1
2 2019-10-17 2

我想使用此函数添加 n 个工作日:

def add_business_days(from_date,ndays):
business_days_to_add = abs(ndays)
current_date = from_date
sign = ndays/abs(ndays)
while business_days_to_add > 0:
current_date += datetime.timedelta(sign * 1)
weekday = current_date.weekday()
if weekday >= 5: # sunday = 6
continue
business_days_to_add -= 1
return current_date

但我不知怎的得到了这个错误:

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

你能帮忙吗?

最佳答案

pandas 已实现对工作日的支持。我不确定你的输出应该是什么样的(因为你没有包含预期的输出,你可以添加它吗?),但我想这就是你想要的:

pd.to_datetime(from_date) + pd.offsets.BDay(ndays)

假设您的数据框如下所示:

dates = [pd.to_datetime('2019-07-04'), pd.to_datetime('2019-10-17'), pd.to_datetime('2019-10-17')]
df = pd.DataFrame(data={'date': dates, 'days': [1, 1, 2]})

可以省略使用 pd.to_datetime() 到时间戳的转换。

关于python - 向 python 添加工作日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59211254/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com