gpt4 book ai didi

python - 计算没有。时间间隔的小时数以确定是工作日还是周末

转载 作者:行者123 更新时间:2023-12-01 09:04:14 24 4
gpt4 key购买 nike

情况:根据时间间隔计算工作日的小时数和周末/节假日的小时数。使用 pandas 从 Excel 文件中提取数据并放入数据框中。

Example of Dataframe Input:
Start End
1 06-09-2018 02:00:00 08-09-2018 01:00:00
2 08-09-2018 02:00:00 08-09-2018 04:00:00
3 08-09-2018 02:00:00 10-09-2018 01:00:00

Example of Dataframe Output at the end:
Start End WD/WE
1 06-09-2018 02:00:00 08-09-2018 01:00:00 WD
2 08-09-2018 02:00:00 08-09-2018 04:00:00 WE
3 08-09-2018 02:00:00 10-09-2018 01:00:00 WE

从第一行开始,我们使用代码计算工作日和周末/节假日的小时数。手动计算,我们将得到 46 个工作日时间和 1 个周末/节假日时间。因此,周末/节假日时间 <= 工作日时间,从而返回字符串“WD”。

我目前正在尝试使用工作日、pandas、datetime、openpyxl。

data_check = pd.read_excel('C:\\excel path.xlsx',header=0)
df_check = pd.DataFrame(data_check,columns=['Start Date and Time','End Date and Time'])
#Creating dataframe
df_check['Start Date and Time'] = pd.to_datetime(df_check['Start Date and Time'])
df_check['End Date and Time'] = pd.to_datetime(df_check['End Date and Time'])

#Simplifying dataframe names
df_s= pd.DataFrame({'Start Date and Time': df_check['Start Date and Time']})
df_u= pd.DataFrame({'End Date and Time': df_check['End Date and Time']})

#Indicating holidays
holidays= ['22-08-2018','06-11-2018','25-12-2018']

我知道我的代码有点困惑,因为我是 Python 新手,并且仍在尝试让事情正常工作。在尝试编写代码来运行我的数据帧来计算 no 后,我陷入了困境。工作日的工作时间和数量。周末/节假日时间。我已经搜索并阅读了如何检测一天是工作日还是周末/假日,但我不知道如何通过我的数据框运行它。

希望有人能帮忙。

目前已测试:代码1:不工作。属性错误:“DataFrame”对象没有属性“日历”。我可能输入错误的代码。

df_wdwe1 = np.where(df_s.calendar.weekday(year, month, day)>=6, "Weekends","Weekdays")

最佳答案

那么您可以使用datetime库将字符串转换为日期值,然后只需面对数据即可查看最小值和最大值,当您得到这些值时只需进行减法即可将获取耗时。

您可以使用 min()max() 来获取最小值和最大值,如下例所示:

Find oldest/youngest datetime object in a list

以下是如何使用日期时间的示例:

Converting string into datetime

要根据提供的日期识别星期几,您可以使用calendar lib更具体的函数calendar.weekday(year,month,day)返回从“0”到“7”的数字,其中 0 是星期一,7 是星期日

至于我不知道的假期,我认为没有像日历中那样精确的东西,考虑到假期是基于国家/地区的。您可以在 github 上查看一些自定义库。

关于python - 计算没有。时间间隔的小时数以确定是工作日还是周末,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52200044/

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