2
我有一个独特的问题,我主要希望找到加快此代码的一些方法。我有一组存储在数据帧的字符串,每个中有好几个名字,我知道名字的数量这一步之前,像这样:快速搜索许多字符串的许多字典键
print df
description num_people people
'Harry ran with sally' 2 []
'Joe was swinging with sally' 2 []
'Lola Dances alone' 1 []
我使用的是字典的键,我我期待在描述发现,像这样:
my_dict={'Harry':'1283','Joe':'1828','Sally':'1298', 'Cupid':'1982'}
,然后使用iterrows搜索像这样每个字符串匹配项:
for index, row in df.iterrows():
row.people=[key for key in my_dict if re.findall(key,row.desciption)]
和运行时它结束了
print df
description num_people people
'Harry ran with sally' 2 ['Harry','Sally']
'Joe was swinging with sally' 2 ['Joe','Sally']
'Lola Dances alone' 1 ['Lola']
我看到的问题是,该代码仍然相当慢,以完成工作,并且我有大量的说明和1000
键。执行此操作有没有更快的方式,例如可能使用找到的人数?