大熊猫-Fuzzywuzzy-执行模糊匹配时加快循环速度吗?

时间:2018-09-12 09:08:54

标签: pandas dataframe fuzzy-comparison fuzzywuzzy

我基本上是在尝试使用近似匹配来加入2个数据帧。下面列出了我的总体操作方法:

  • 具有要匹配的字符串列表
  • 使用模糊过程定义函数。提取
  • 将此功能应用于第一个数据框中的所有行以获取匹配项
  • 根据匹配密钥将第一DF与第二DF结合起来。

这是我的代码:

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次迭代的循环,此代码花费很长时间。我需要10万次比赛。如何加快此代码的速度?

0 个答案:

没有答案