使用fuzzyfuzzy python进行模糊匹配时返回一个附加列

2024-10-03 00:20:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个csv文件用于模糊匹配。文件-1中的列是(ID,party\u name),文件-2中的列是(party\u ID,prty\u name)。在使用fuzzyfuzzy库进行模糊匹配时,它返回三个值(prty\u name、match\u score和row\u number)。当file-1的每一列都与file-2匹配时,我也希望返回file-2的party\u id

文件-1中的示例数据

ID, party_name
1,'james mackson'
2,'thomas editon'

文件2中的示例数据

party_id,prty_name
234, 'james mackson'
123, 'george p'
453, 'James anidon'

我试着从代码中返回额外的列,但是没有帮助

列\u val \u 6是一个数据帧,包含文件-1中的所有参与方\u名称值,将对每一行进行处理

列\u val\u 6=csv\u source\u 1.party\u name 列\u val \u 2=csv\u source \u 2.prty\u name

for i in column_val_6:
 for found, score, row_num in process.extract(i, column_val_2, limit=1):
            if score >= 50:
                print('%d%% partial match: "%s" with "%s" ' % (score, i, found))

I need the output as
party_name, prty_name, match_percentage, party_id
'James Mackson', 'James Mackson', 100, 234
'thomas editon', 'James Anidon', 40, 453

Tags: 文件csv数据nameid示例partymatch