我有一个熊猫数据框,其中包含整数的起始值和终止值,如下所示(按起始值排序)。每行描述一个视频中发生的事件(可以有重复的行描述在同一帧之间发生的两个不同的事件)。
指数 | 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] ...
您对此有解决方案吗?另外,我还要查找重叠的间隔以及重叠的间隔(但这是另一个问题)。
我发现通过将数据框转换为2D列表更容易做到这一点:
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)]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句