J'ai df1 et df2. Je souhaite utiliser fuzzywuzzy pour aligner la colonne A dans df1 sur la colonne A dans df2 et renvoyer un ID dans la colonne B de df2 en fonction d'une certaine correspondance de ratio.Comment utiliser FuzzyWuzzy en Python pour nommer la correspondance entre deux trames de données?
Par exemple:
DF1 ressemble à ceci:
Nom
Sally vend Seashells
DF2 ressemble à ceci:
Nom | ID
Sally slls sshells | 28904
Ce que je suis en train de faire est de comparer tout dans la colonne A DF1 pour trouver une correspondance dans la colonne A DF2 et retourner l'ID de la colonne B en DF2.
Je voudrais être en mesure de définir les critères du rapport flou. Par exemple: Je veux seulement revenir à un ID si le ratio est supérieur à 50.
Mon code actuel:
import pandas as pd
import numpy as np
from fuzzywuzzy import fuzz
from fuzzywuzzy import process
df1=pd.read_csv('C:\\Users\\nkurdob\\Desktop\\Sheet1.csv')
df2=pd.read_csv('C:\\Users\\nkurdob\\Desktop\\Sheet2.csv')
for i in range(len(df1)):
em = df1['A'][i]
test = fuzz.partial_ratio(em, df2['A'])
if test > 50:
print df1['A'][i]==df2['B']