我有一个工作日期列表,如下所示:
list_of_dates = ["15/02/2021", "16/02/2021", "17/02/2021",
"19/02/2021", "22/02/2021"," 23/02/2021"]
我想将其转换为连续期间的列表:
list_of_periods = [[start_date="15/02/2021", end_date="17/02/2021"],
[start_date="19/02/2021", end_date="23/02/2021"]
因此,每当两个日期之间有一个或多个营业日时,前一个期间结束,新的期间开始
我考虑过计算日期之间的差异。最好的方法是什么
假设您的日期为
datetime.date
,您可以将其减去并创建一个timedelta
对象,该对象表示两个日期之间的天数:见https://docs.python.org/library/datetime.html
这不需要计算工作日数
这似乎是您正在寻找的:Find group of consecutive dates in Pandas DataFrame
如果单个日期可以是它们自己的期间(例如示例中的“19/02/2021”),则使用:
要确定连续工作日的跨度,您需要添加周末(可能还有带有
holidays=
参数的假日),这样您就可以检查所有日期之间是否有1天的间隔来组成您的组首先将列表转换为一系列
datetime64
值,并连接数据中的所有周末。排序并删除重复项。然后找到差异所在!=1
以创建组,并希望最小值和最大值获得开始和结束相关问题 更多 >
编程相关推荐