我有一个包含客户机名称的dataframe,我想通过对客户机名称使用#fuzzywuzzy包中的字符串相似性函数来对引用同一个人的行进行分组,但由于每一行都要与其他行进行比较,因此需要花费太多时间,我正在寻找一种方法来消除完全不同的字符串,并且在模糊匹配程序开始之前只比较可能是匹配的字符串,并且优化我编写的模糊匹配程序
我把包含名字和姓氏的列存储在liste中,然后遍历这个列表,每次我发现名字相似,我就给它们分配相同的id,这样可以工作,但速度很慢。
Fuzz.token_sort_比率是计算字符串之间相似性的相似性函数,它根据字符串的相似程度返回一个从0到100的整数
liste_fnln包含应进行比较的串联名称。在
`from fuzzywuzzy import fuzz
`liste_positions=[]`
`liste_ucid=[]`
`leng=range(len(df.index))`
`for i in leng:`
`for j in leng:`
`x=fuzz.token_sort_ratio((liste_fnln[i]),(liste_fnln[j]))`
`if x>=80 :`
`if(j not in liste_positions )`
` liste_id[i]=i`
`liste_id[j]=i`
`liste_positions.append(j)`
这些是输入和预期结果:
^{2}$
目前没有回答
相关问题 更多 >
编程相关推荐