【发布时间】:2022-01-10 16:40:48
【问题描述】:
我正在尝试使用fuzzywuzzy 与进程匹配来自两个数据框(在名称列中)的名称。结果应该是 df1(dfdum) 与 df2(dfpep) 中的最佳匹配名称和相似度得分。这与下面的代码配合得很好,但除了匹配的名称和分数之外,我还想在结果中将更多列从 df2 附加到 df1。 df2 中属于匹配名称的出生日期和居住国家也应添加到 df1。我不能简单地合并名称,因为有重复。
谁能帮我修改代码,以便我可以从 df2 的匹配名称中添加额外信息?因此,我想向 df1 添加两个额外的列,其中包含来自 df2 的匹配名称的相关信息。
pep_name = []
sim_name = []
for i in dfdum.NAME:
ratio = process.extract(i, dfpep.NAME, limit=1,scorer=fuzz.token_set_ratio)
pep_name.append(ratio[0][0])
sim_name.append(ratio[0][1])
dfdum['pep_name'] = pd.Series(pep_name)
dfdum['sim_name'] = pd.Series(sim_name)
【问题讨论】:
标签: python string-matching fuzzywuzzy