我正在尝试减少名称列表,并且为了执行此操作,我使用了fuzzywuzzy图书馆。
我对所有名称执行两个for循环。如果两个名称的匹配分数在90到100之间,则我用第一个名字重写了第二个名字。
这是我的数据集的示例data。
nombre
0 VICTOR MORENO MORENO
1 SERGIO HERNANDEZ GUTIERREZ
2 FRANCISCO JAVIER MUÑOZ LOPEZ
3 JUAN RAYMUNDO MORALES MARTINEZ
4 IVAN ERNESTO SANCHEZ URROZ
这是我的功能:
def fuzz_analisis0(top_names):
for name2 in top_names["nombre"]:
for name in top_names["nombre"]:
if fuzz.ratio(name, name2)>90 and fuzz.ratio(name, name2)<100:
top_names[top_names["nombre"]==name] = name2
当我用以下命令运行时:
fuzz_analisis0(data)
一切正常。这是显示其工作原理的输出。
print(len(data))
# 1400
data = data.drop_duplicates()
print(len(data))
# 1256
但是现在,如果我尝试使用并行处理,它将无法按预期运行。这是并行化的代码:
co