[英]Is there any way to run loop faster?
我正在解决一些字符串匹配问题并使用fuzzywuzzy 模块来获得分数。
我的目标数据约为 67K,参考数据几乎为 4M,我创建了循环,一次迭代大约需要 +- 19 分钟。 有什么办法可以让我的循环运行得更快?
%%timeit
df11['NEW'] = ""
for i in range(0, 4):
df11['NEW'] = process.extractOne(df11['Desc 1'][i], df['Description 2'])
df11.head()
假设:
choice
字符串都比较长(例如 >20 个字符)并且它们不是都非常相似(例如只有一两个字符不同)那么我可能会使用三元组来索引字符串,然后忽略查询中没有足够三元组的目标行
我一直在玩“20 个新闻组数据集” ,它需要我的笔记本电脑:
fuzzywuzzy.extractOne
这是服用后:
我的代码很老套,但我可以整理一下,可能会将所有 67k 查询字符串的总运行时间减少到一天左右,如果您与multiprocessing
并行执行此操作,可能只需几个小时
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.