我有两个数据框,一个包含客户打开的服务请求,第二个包含客户的订单。 我想在客户名称上合并这两个数据框,但是问题是名称不相同,因为它们来自两个不同的来源。 只是一个虚构的例子:数据框1可以有“ Facebook,Inc.”。数据框2可以是“ facebook社交媒体”。
我尝试使用SequenceMatcher(从difflib导入SequenceMatcher)在数据帧1中以每个客户的比率最高的结果进行搜索,但是准确性不够好。
我很高兴听到遇到相同问题的人们的想法。
谢谢。
答案 0 :(得分:0)
您可以使用fuzzywuzzy
库或经过优化的editdistance
包中的Levenstein距离。优化的Levenstein距离仅使用最后两行,而不是经典的二维矩阵。为了计算相似度,请使用下一个公式:
ratio = 1 - levenstein(a, b) / max(len(a), len(b))
此外,您可以使用Damerau-Levenstein修改。它允许计算字符转置而不是删除/插入操作。