在 pandas 数据框中模糊匹配两个字符串的最快方法
fastest way to do fuzzy matching two strings in pandas data frame
我有两个带有名称列表的数据框
df1[name] -> number of rows 3000
df2[name] -> number of rows 64000
我使用模糊 wuzzy 从 df2 中获取 df1 条目的最佳匹配,代码如下:
from fuzzywuzzy import fuzz
from fuzzywuzzy import process
matches = [process.extract(x, df1, limit=1) for x in df2]
但这需要很长时间才能完成。 pandas?
中字符串的模糊匹配有没有更快的方法
您可以使用python的多线程包来加速它。 Pandas 默认情况下不利用多核。
我在您的代码中看到的一项改进是使用生成器,因此您可以使用圆括号代替方括号。速度会提高数倍
matches = (process.extract(x, df1, limit=1) for x in df2)
编辑:还有一个建议,我们可以用multiprocessing
库并行操作。
我有两个带有名称列表的数据框
df1[name] -> number of rows 3000
df2[name] -> number of rows 64000
我使用模糊 wuzzy 从 df2 中获取 df1 条目的最佳匹配,代码如下:
from fuzzywuzzy import fuzz
from fuzzywuzzy import process
matches = [process.extract(x, df1, limit=1) for x in df2]
但这需要很长时间才能完成。 pandas?
中字符串的模糊匹配有没有更快的方法您可以使用python的多线程包来加速它。 Pandas 默认情况下不利用多核。
我在您的代码中看到的一项改进是使用生成器,因此您可以使用圆括号代替方括号。速度会提高数倍
matches = (process.extract(x, df1, limit=1) for x in df2)
编辑:还有一个建议,我们可以用multiprocessing
库并行操作。