我是 python 新手,我正在一个包含 200 万条记录的列表上运行一个模糊的字符串匹配逻辑。该代码正在运行,并且它也正在提供输出。问题是它非常慢。在 3 小时内它只处理 80 行。我想通过一次处理多行来加快速度。
如果它有帮助 - 我在我的机器上运行它,配备 16Gb RAM 和 1.9 GHz 双核 CPU。
下面是我正在运行的代码。
d = []
n = len(Africa_Company) #original list with 2m string records
for i in range(1,n):
choices = Africa_Company[i+1:n]
word = Africa_Company[i]
try:
output= process.extractOne(str(word), str(choices), score_cutoff=85)
except Exception:
print (word) #to identify which string is throwing an exception
print (i) #to know how many rows are processed, can do without this also
if output:
d.append({'Company':Africa_Company[i],
'NewCompany':output[0],
'Score':output[1],
'Region':'Africa'})
else:
d.append({'Company':Africa_Company[i],
'NewCompany':None,
'Score':None,
'Region':'Africa'})
Africa_Corrected = pd.DataFrame(d) #output data in a pandas dataframe
提前致谢 !