我喜欢基于大熊猫数据框中的文本<10(x2-x <10)之间的相同行和距离来查找和提取所有封闭文本。 x,y,x2,y2是包含文本的边框的坐标。每次文本都可以不同(字符串,浮点数,整数,...)。
在我的示例中,我想提取“增值税金额” idx 70和71:在同一行,并且距“增值税” [x]-“金额” [x2] <10
line text x y x2 y2
29 11 Amount 2184 1140 2311 1166
51 14 Amount 1532 1450 1660 1476
66 15 Amount 1893 1500 2021 1527
70 16 Amount 1893 1551 2022 1578
71 16 VAT 2031 1550 2121 1578
最终结果必须是:
line text x y x2 y2
70 16 Amount 1893 1551 2022 1578
71 16 VAT 2031 1550 2121 1578
且提取应在同一行和(x2-x <10)上处理2个或更多文本。其他结果包含3个值:
line text x y x2 y2
5 16 Total 1755 1551 1884 1578
8 16 Amount 1893 1551 2022 1578
20 16 VAT 2031 1550 2121 1578
我找到一种找到相同行的方法:
same_line = find_labels['line'].map(find_labels['line'].value_counts() > 1)
,我尝试找到x2-x <10附近的值,但我不知道如何做到这一点。 我尝试进行循环或使用.cov(),但无法正常工作...
有人可以帮助我吗?
感谢您的帮助