Я имею дело со столбцом, который имеет несколько вариантов написания для одной и той же вещи. Мне нужно идентифицировать похожие строковые записи и нормализовать их, используя похожую строку с наибольшим количеством.
Это очень большой набор данных с большим количеством существительных, поэтому я не могу создать словарь правильных записей. Лучший способ определить правильную запись - использовать счетчик.
Вот пример вариаций. Мы знаем, что «Макдональдс» - правильная запись из-за большого количества. Теперь мне нужно выбрать неправильные записи и исправить их.
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
Вы, ребята, думаете, что этолучший способ пойти по этому поводу? И если да, как я могу применить это ко всему столбцу и исправить неправильные записи?