首页 > 解决方案 > 熊猫 - 模糊匹配 - 进行模糊匹配时加速循环?

问题描述

我基本上是在尝试使用近似匹配加入 2 个数据帧。下面列出了我一般如何执行此操作:

这是我的代码:

def closest_match(x):
    matched = (process.extract(x, matchlist[matchlist.match_name.str.startswith(x[:3])].match_name, limit=1, scorer=fuzz.token_sort_ratio))
    if matched:
        print(matched[0])
        return matched[0][0]
    else:
        return None


df1['key'] = df1.df1_name.apply(lambda x: closest_match(x))
# merge with 2nd df
joined = df1.merge(df2, left_on='key', right_on='df2_name')

这里的问题是关于速度。对于 10000 次迭代的循环,此代码需要很长时间。我需要这个来进行 100K 比赛。如何加快这段代码的速度?

标签: pandasdataframefuzzy-comparisonfuzzywuzzy

解决方案


推荐阅读