【发布时间】:2021-09-27 09:19:08
【问题描述】:
我有两个不同的数据集,其中一个包含 650k 条记录,另一个包含 20k 条记录,我想在两个数据集的单列中查找匹配或近似匹配的数据。由于 Python 很慢,如何加快进程?
注意:我的数据类型在两个数据集的两列中都是字符串。
这是我的简单代码:
from fuzzywuzzy import fuzz
df1
df2
for i in df1['string1']:
for j in df2['string2']:
Ratio = fuzz.ratio(i.lower(),j.lower())
print(Ratio)
【问题讨论】:
-
如果您需要将每个条目与其他每个条目进行比较,那么这是一项具有固定复杂性的任务,并且不能作为单个进程提高效率。您最好的选择是将
df1和df2拆分为许多较小的集合,然后并行运行比较。multiprocessingpool可能是一个很好的起点。
标签: python-3.x for-loop