添加带有数据框行 pandas 的列表元素

问题描述 投票:0回答:0

我创建了数据框,我在其中使用 python 的工作日库添加工作日。在那个

workdays.networkdays
函数中,我传递了
start_date
end_date
holidays
.

返回 start_date 和 end_date 之间的整个工作日数。工作日不包括周末和假期中确定的任何日期。

import workdays
final_df["Working_Days"] = final_df[["Time Period Year", "Time Period ID", "Num_Days"]].apply(lambda x:workdays.networkdays(start_date=datetime.date(int(x['Time Period Year']), x['Time Period ID'],1),end_date=datetime.date(x['Time Period Year'], x['Time Period ID'],x["Num_Days"]),holidays=agr_holiday),axis=1)

工作日产出:

现在我必须添加星期六,因为 0.5 天意味着半天。

所以我用下面的代码得到一个月中有多少星期六:

newdf = [pd.date_range(x,y).weekday.isin([5]).sum() for x , y in zip(start_date, end_date)]

以上代码的输出:

[4, 5, 4, 4, 5, 4, 4, 5]
在这里我计算了一个月中的星期六(全天)。

但我想要星期六的 0.5(半天),所以我将它除以 1/2。

 half_day = [float(x/1/2) for x in newdf]

以上代码的输出:

[2.0, 2.5, 2.0, 2.0, 2.5, 2.0, 2.0, 2.5]
在这里我计算了一个月中的星期六(半天)。

现在我想在 Working_Days 中添加半天输出。因为我们有这样的工作日

Monday(Full Day), 
Tuesday(Full Day), 
Wednesday(Full Day), 
Thursday(Full Day), 
Friday(Full Day, 
Saturday(Half Day))

我无法在

workdays.networkdays
中计算它,因为它包括周末(星期六,星期日)

那么如何在 final_df["Working_Days"] 中添加半天?

提前致谢!

python pandas dataframe weekday weekend
© www.soinside.com 2019 - 2024. All rights reserved.