找到两个间隔之间的间隔
Find an interval between two intervals
我有一个 pandas 数据框,其中包含整数的起始值和终止值,如下所示(按起始值排序)。每行描述视频中发生的一个事件(可以有重复行描述同一帧之间发生的两个不同事件)。
index
frame_start
frame_end
0
7
39
1
39
57
2
39
57
3
58
400
4
417
615
5
485
500
6
640
745
...
...
...
我想找到没有事件发生的时间间隔,例如:[1,7]、[57,58]、[400,417]、[615、640],...
你有解决办法吗?另外,然后我想找到重叠的间隔以及重叠的间隔(但这是另一个问题)。
我发现将数据框转换为二维列表更容易做到这一点:
lst = [[1,1]] + df.to_numpy().tolist()
result = [(lst[i][1], lst[i+1][0]) for i in range(len(lst)-1) if lst[i][1] < lst[i+1][0]]
print(result)
#[(1, 7), (57, 58), (400, 417), (500, 640)]
我有一个 pandas 数据框,其中包含整数的起始值和终止值,如下所示(按起始值排序)。每行描述视频中发生的一个事件(可以有重复行描述同一帧之间发生的两个不同事件)。
index | frame_start | frame_end |
---|---|---|
0 | 7 | 39 |
1 | 39 | 57 |
2 | 39 | 57 |
3 | 58 | 400 |
4 | 417 | 615 |
5 | 485 | 500 |
6 | 640 | 745 |
... | ... | ... |
我想找到没有事件发生的时间间隔,例如:[1,7]、[57,58]、[400,417]、[615、640],...
你有解决办法吗?另外,然后我想找到重叠的间隔以及重叠的间隔(但这是另一个问题)。
我发现将数据框转换为二维列表更容易做到这一点:
lst = [[1,1]] + df.to_numpy().tolist()
result = [(lst[i][1], lst[i+1][0]) for i in range(len(lst)-1) if lst[i][1] < lst[i+1][0]]
print(result)
#[(1, 7), (57, 58), (400, 417), (500, 640)]