为了账号安全,请及时绑定邮箱和手机立即绑定

如何提高在数据帧中使用模糊匹配的速度?

如何提高在数据帧中使用模糊匹配的速度?

至尊宝的传说 2021-04-04 13:15:09
我想使用模糊匹配来检查数据框是否包含关键字。但是,使用起来很慢apply。有没有更快的方法?我们可以使用str还是re?import regexresult = df['sentence'].apply(lambda x: regex.compile('(keyword){e<4}').findall(x)) #slow非常感谢你。
查看完整描述

1 回答

?
胡说叔叔

TA贡献1804条经验 获得超8个赞

您为什么在应用内部进行编译?这实际上违背了它的目的。另外,加快apply通话速度的最佳方法是不使用apply。


在没有上下文与您实际尝试匹配的内容相关的情况下,我向您介绍:


p = regex.compile('(keyword){e<4}')

result = [p.findall(x) for x in df['sentence']]

我的测试表明,基于列表理解的正则表达式匹配str在性能方面取代了方法。好吧,花点儿力气,因为它总是取决于您的数据和您要匹配的内容。


re.search如果您只想要一个匹配项(以提高性能),则可能要考虑使用而不是findall。


查看完整回答
反对 回复 2021-04-13
  • 1 回答
  • 0 关注
  • 155 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号