Нечеткое совпадение строк в одном кадре данных для поиска дубликатов в пандах и питоне - PullRequest
0 голосов
/ 05 декабря 2018

Я наткнулся на этот пост, на который я ссылаюсь: Примените нечеткое сопоставление для столбца данных и сохраните результаты в новом столбце .Код, на который я ссылаюсь, находится в разделе ответов и использует нечеткие слова и панды.Он использует нечеткий wuzzy, чтобы финансировать дублирующиеся строки в 2 фреймах данных.Я стремлюсь изменить этот код, чтобы я мог проверить дубликаты строк в одном кадре данных.Вот код, который у меня есть:

from fuzzywuzzy import fuzz
from fuzzywuzzy import process
import pandas as pd
import SQLAlchemy
import pyodbc

con = 
sqlalchemy.create_engine('mssql+pyodbc://(localdb)\\LocalDBDemo/master? 
driver=ODBC+Driver+13+for+SQL+Server')

compare = pd.read_sql_table(PIM, con)

def metrics(tup):
return pd.Series([fuzz.ratio(*tup),
                  fuzz.token_sort_ratio(*tup)],
                 ['ratio', 'token'])

compare.apply(metrics)
#df1
#compare.apply(metrics).unstack().idxmax().unstack(0)
#df2
#compare.apply(metrics).unstack(0).idxmax().unstack(0)

Любая помощь будет принята с благодарностью!Я все еще очень нуб, поэтому, пожалуйста, потерпите меня.Спасибо!

1 Ответ

0 голосов
/ 20 августа 2019

Попробуйте пакет под названием pandas-dedupe.Использует нечеткое сопоставление и машинное обучение.

https://pypi.org/project/pandas-dedupe/

Я знаю, что ваш вопрос очень старый, но вышеприведенный пакет все еще может помочь.

Вы нашли решение в конце?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...