我在Python中有两次范围,我想发现它们之间是否有重叠。我正在寻找一种算法。例如,我有以下时间范围:
r1 = start=(15:30:43), end=(16:30:56)
r2 = start=(15:40:35), end=(15:50:20)
我如何在python中找到它们之间的重叠?
您可以从pandas
软件包中使用DatetimeIndex
对象如下:
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)