我需要在已经开发的模糊匹配条件下将目标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
答案 0 :(得分:1)
因此,如果您的模糊逻辑仅比较每行上的两个字符串,只需将其包装为一个接受列源和列目标的函数。 在一个数据帧中创建两列然后运行:
def FuzzyTest(source,target):
.....
if ...:
return target
else:
return None
df['Target Company'] = df.apply(lambda x: FuzzyTest(x['Source'],x['Target'])