我正在尝试清理从网站上删除的搜索字词。由于搜索字词来自电子商务网站,因此无法使用PYspellchecker进行更正。 经过研究,我知道我们可以使用levenshtein距离,但是我不知道如何在单个列上实现它。我有30万个搜索词,唯一可能的方法是使用df的转置。但这不起作用,因为我正在获得内存错误。
from pandas import DataFrame
Cars = {'Words': ['Walmart','Walnart','Audi','Aoudi','udi','Falmart','Audi A4'],
'count': [22000,300,27000,300,50,300,3000]
}
df = DataFrame(Cars,columns= ['Words', 'count'])
字数 沃尔玛22000 瓦尔纳特300 奥迪27000 奥迪300 迪50 法尔玛300 奥迪A4 3000
我想要下面的结果
Words Similar_word Score
Walmart Walmart 100
Walnart Walmart 90
Audi Audi 100
Aoudi Audi 90
udi Audi 85
Falmart Walmart 85
Audi A4 Audi A4 100
我的逻辑无法将沃尔玛与奥迪相提并论。其次,奥迪A4相距3个levenshtein距离,因此将其单独处理。