对于下面的pandas数据帧,我想删除video
和view
值相等且四列中的两列left, width, top, height
彼此在+-1范围内的所有行。因此,在下面的示例中,第二行(宽度,高度)是(20,14),第三行(宽度,高度)是(21,15),因此应该删除这两行中的一行,因为这些行在width
和height
列中共享+-1值
view video left width top height
Endzone 57906_000718_Endzone.mp4 372 17 279 17
Endzone 57906_000718_Endzone.mp4 851 20 273 14
Endzone 57906_000718_Endzone.mp4 853 21 271 15
Endzone 57906_000718_Endzone.mp4 855 21. 267 16
Endzone 57906_000718_Endzone.mp4 857 21. 265 17
Sideline 57906_000718_Sideline.mp4 763 18. 98 26
...
样本输出,根据移除方法,输出可能会有所不同:
view video left width top height
Endzone 57906_000718_Endzone.mp4 372 17 279 17
Endzone 57906_000718_Endzone.mp4 851 20 273 14
Endzone 57906_000718_Endzone.mp4 857 21. 265 17
Sideline 57906_000718_Sideline.mp4 763 18. 98 26
...
谢谢大家!
我不知道这是否足够准确。它不一定会剪切1秒内的所有实例,但是一些小的调整就可以了。另外,我假设您更关心“宽度/高度”和“左/顶”分组,而不是四个组合。不管怎样,您只需对您真正关心的任何组重新执行此转换,直到所有排列。为了简洁起见,我省略了“left/top”分组,但这只是重复
创建两个遮罩:
view
和video
:使用.shift
+.eq
检查前一行是否相同dimensions
:diff
上一行,检查其中是否有任何两行在[-1,1]中相关问题 更多 >
编程相关推荐