python - Pandas str.contains 超过一个列表?
问题描述
我使用类似下面的东西来更新我的数据框
df.loc[(df['Message'].str.contains('hello', case=False)),'SomeSeries'] = 'SomeUpdate'
'hello'
但是当我的系列包含or'bicycle'
或等时,我可能想更新'monday'
。显然,我可以遍历一个列表,但我想知道是否有办法在一行中做到这一点?我想要类似的东西
watchlist = ['hello','bicycle','monday']
df.loc[(df['Message'].str.contains(watchlist, case=False)),'SomeSeries'] = 'SomeUpdate'
解决方案
你需要,
df.loc[(df['Message'].str.contains('|'.join(watchlist), case=False)),'SomeSeries'] = 'SomeUpdate'
推荐阅读
- javascript - React 组件在 JSON 对象上执行 foreach 时返回空
- php - 为什么作曲家不添加包?
- r - 对 glmer 和 glmmTMB 模型使用 ggpredict 的不同输出
- python - 有没有一种优雅的方法可以让 python 中的 main() 定期再次运行?
- smalltalk - 如何在 Squeak 中的 Morph 上使用 Pen 交互绘图?
- listener - 多个 MQ 侦听器
- python - 功能选择和选择之间的区别以及何时使用一个而不是另一个
- javascript - 最后一个表格单元格上的下拉菜单被切断 - React Bootstrap
- javascript - 如何结合两个init函数?
- vue.js - 如何跟踪 Vue.js 中当前焦点输入的变化?