大熊猫在同一行上找到闭合值

时间:2018-12-29 04:10:29

标签: python pandas dataframe

我喜欢基于大熊猫数据框中的文本<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(),但无法正常工作...

有人可以帮助我吗?

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

假设增值税和金额都使用相同的s >> h值编制索引,我会这样做:

qDebug() << h

我明白了

enter image description here

并非完全符合您的要求,但是您明白了。 不确定正确的数学运算能给您显示的结果