基于模糊模糊比返回相应的行

时间:2017-02-27 19:16:29

标签: python pandas fuzzy fuzzywuzzy

我使用模糊wuzzy来比较两个不同数据帧中的两列。我想在df2中的同一行但不同的列中检索相应的值。例如:

如果我在df1列A中的匹配率超过50与df2列A,我想在df2列B中检索相应的值。

我目前的代码:

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']) 
    while test > 50:
        print df1['Fund Name'][i]==df2['B']

这是一个永无止境的输出 - 我必须每次都停止它。有没有人知道如何根据某个匹配率检索df2中的相应行?

由于 纳扎尔

1 个答案:

答案 0 :(得分:1)

while替换为if

您已经运行了partial_ratio函数并获得了名为test的静态结果。如果是> 50它将永远是>代码中那部分导致无限循环。