python - 根据fuzzywuzzy比率返回对应行

标签 python pandas fuzzy fuzzywuzzy

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

如果 df1 列 A 中的 i 与 df2 列 A 的匹配率大于 50,我想检索 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中的相应行吗?

谢谢 纳扎尔

最佳答案

while 替换为 if

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

关于python - 根据fuzzywuzzy比率返回对应行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42493978/

相关文章:

Python Validictory(JSON 模式验证): How to OR multiple schemas?

python - 使用 pd.Series.__add__ 时如何填充空值

python - 使用 Jupyter 笔记本将具有多个工作表的 Excel 文件转换为多个 csv 文件

python - 从包含品牌和型号名称的 Pandas 列表创建分类的 DataFrame

python - 使用模糊python删除重复的近似词匹配

python - 通过正则表达式或模糊匹配合并 Dataframe

Python:带有对象列表的对象——根据列表成员的属性创建方法

python - 使用 python 多处理的 Anytime 算法

Python 绘图 scikit-fuzzy 没有响应

python - Python中基于标识符的文件并行解析