Pandas,根据条件从目标文件加入行

时间:2017-09-14 05:34:18

标签: python pandas

我需要在已经开发的模糊匹配条件下将目标DataFrame中的行合并到我的源DataFrame中,让我们调用方法fuzzyTest。如果模糊测试返回True,我想在匹配时将目标文件中的行合并到我的源文件中。

因此,与TARGET COMPANY

进行比较时,fuzzyTest通过SOURCE COMPANY.时基本上会进行左联接

来源DataFrame

          SOURCE COMPANY
0           Cool Company
1              BigPharma
2            Tod Kompany
3               Wallmart

目标数据框

                       TARGET COMPANY
0                        Kool Company
1                           Big farma
2                      Todd's Company
3                              C-Mart
4                           SuperMart
5                          SmallStore
6                             ShopRus

希望在通过fuzzyTest映射之后,输出将是:

                       SOURCE COMPANY       TARGET COMPANY
0                        Cool Company         Kool Company
1                           BigPharma            Big farma
2                         Tod Kompany       Todd's Company
3                            Wallmart                  NaN     

1 个答案:

答案 0 :(得分:1)

因此,如果您的模糊逻辑仅比较每行上的两个字符串,只需将其包装为一个接受列源和列目标的函数。 在一个数据帧中创建两列然后运行:

def FuzzyTest(source,target):
    .....
    if ...:
      return target
    else:
      return None

df['Target Company'] = df.apply(lambda x: FuzzyTest(x['Source'],x['Target'])