python - 在python中查找某些时间范围内的时间重叠
问题描述
我在 python 中有两个时间范围,我想知道它们之间是否有任何重叠。我正在寻找一种算法。例如,我有以下时间范围:
r1 = start=(15:30:43), end=(16:30:56)
r2 = start=(15:40:35), end=(15:50:20)
如何在 python 中找到它们之间的重叠?
解决方案
您可以使用包中DatetimeIndex
的对象,pandas
如下所示:
import pandas as pd
# create DatetimeIndex objects with *seconds* resolution
dtidx1 = pd.date_range('15:30:43', '16:30:56', freq='S')
dtidx2 = pd.date_range('15:40:35', '15:50:20', freq='S')
# use the DatetimeIndex.intersection method to get another
# DatetimeIndex object whose values are what you requested
dtidx1.intersection(dtidx2)
推荐阅读
- excel - 存在值时,Excel VLOOKUP 返回 #N/A
- android - 如何在android中显示像twitter这样的图像
- python - VS Code / Python / 使用调试器调试 pytest 测试
- python-3.x - 使用 Python 进入新 URL 后的 Selenium 元素搜索
- c# - 使用视图模型类对 Sum 和视图进行 LINQ 查询
- python - 如何根据另一列中的符号变化计算列表中的数学差异
- javascript - 发送回调匿名函数与现有函数
- html - 定位图标html和css的问题
- docker - 如何覆盖 RabbitMQ docker 镜像的默认用户和密码
- angular - Angular - 使用带通配符的路由器不会重新初始化组件