我正在处理一列,同一列有多个拼写变化。我需要识别相似的字符串条目,并使用计数最高的相似字符串对其进行归一化。
这是一个非常庞大的数据集,包含许多名词,因此我无法创建正确条目的字典。识别正确条目的最佳方法是使用计数。
这里是变化的一个例子。我们知道'Mcdonalds'是正确的输入,因为计数很高。现在,我需要选择不正确的条目并进行更正。
data = {'Store':['Mcdonalds', 'mcdonald', 'Mcdonaldss', 'Mcdonald'], 'Count':[20000, 17, 2, 40]}
一种可能的解决方案是 difflib
Correct = 'Mcdonalds'
Incorrect = 'Mcdonaldss'
seq = difflib.SequenceMatcher(None, Correct, Incorrect)
d = seq.ratio()*100
print(d)
>94.73
你们认为这是解决此问题的最佳方法吗?如果是这样,我如何将其应用于整个列并更正不正确的条目?