首页 > 解决方案 > 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'

标签: pythonpython-3.xpandasdataframe

解决方案


你需要,

 df.loc[(df['Message'].str.contains('|'.join(watchlist), case=False)),'SomeSeries'] = 'SomeUpdate'

推荐阅读