Python FuzzyWuzzy: 使用 token_set_ratio 函数匹配 DataFrame 中的名称
可以使用 fuzzywuzzy 库中的 fuzz.token_set_ratio 函数来计算匹配度,代码如下:
from fuzzywuzzy import fuzz
# df1 为包含名称的 DataFrame
# df2 为包含 f14 的 DataFrame
# 创建一个空的 DataFrame 用于存放匹配结果
result = pd.DataFrame(columns=['name', 'f14', 'match_ratio'])
# 遍历 df1 中的每一行
for i, row1 in df1.iterrows():
name = row1['name']
# 遍历 df2 中的每一行
for j, row2 in df2.iterrows():
f14 = row2['f14']
# 计算名称和 f14 的匹配度
match_ratio = fuzz.token_set_ratio(name, f14)
# 如果匹配度大于 90,则将结果添加到 result 中
if match_ratio > 90:
result = result.append({'name': name, 'f14': f14, 'match_ratio': match_ratio}, ignore_index=True)
# 输出结果
print(result)
其中,fuzz.token_set_ratio 函数会将字符串拆分成单词,并计算两个字符串共同拥有的单词数量占总单词数的比例,作为匹配度的指标。
原文地址: https://www.cveoy.top/t/topic/jWPR 著作权归作者所有。请勿转载和采集!