我有数据框x,
Please view the x dataframe here
我们希望使用以下函数创建新列,该函数将在开始处添加完整列值并创建新列结束。
import datetime
def date_by_adding_business_days(from_date, add_days):
business_days_to_add = add_days
current_date = from_date
while business_days_to_add > 0:
current_date += datetime.timedelta(days=1)
weekday = current_date.weekday()
if weekday >= 5: # sunday = 6
continue
business_days_to_add -= 1
return current_date
我已经尝试过这个错误,请帮忙。
x['Finish'] = x.apply(date_by_adding_business_days(datetime.date.today(), x['Complete']))
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
最佳答案
尝试重构您的代码。如果您仅将函数应用于一列,那么您就做错了。此外,由于某种原因,您尝试调用向其传递时间的函数。为什么如果你可以在函数中得到它:
import datetime
def date_by_adding_business_days(add_days):
business_days_to_add = add_days
current_date = datetime.date.today()
while business_days_to_add > 0:
current_date += datetime.timedelta(days=1)
weekday = current_date.weekday()
if weekday >= 5: # sunday = 6
continue
business_days_to_add -= 1
return current_date
x['Finish'] = x['Complete'].apply(date_by_adding_business_days)
关于python - 将函数应用于数据框列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61652558/