У меня есть список в столбце. Например, это выглядит так:
powderA1992
powderA199
creamB2001
creamB200
Предполагается, что правильными точками данных являются powederA1992
и creamB2000
.
Как сопоставить и заменить в новом столбце для powderA199
чтобы соответствовать powderA1992
?
Небольшой пример в этом вопросе, но у меня есть 60 000 записей.
Вот мой код:
from fuzzywuzzy import fuzz, process
sellers= dataset['seller_name']
sellers = sellers.dropna()
print (sellers.head(10))
sellers2 = sellers.copy()
sellers2.drop_duplicates(keep='first', inplace=False)
print (sellers2.head(10))
print(len(sellers))
print (len(sellers2))
def match_term(term, list_names,min_score=0):
max_score = -1
max_name = ""
for term2 in list_names:
score = fuzz.ratio(term, term2)
if (score > min_score) & (score > max_score):
max_name = term2
max_score = score
return (max_name, max_score)
for i in sellers:
print (i, match_term(i, sellers2,20))