【发布时间】:2021-09-23 16:01:08
【问题描述】:
考虑:
array = ['... , '...' , '.... ' ,....]
results = df[df['Message'].str.contains('|'.join(array)).fillna(False)]
我们如何强制str.contains 只使用数组中的整个单词?
【问题讨论】:
-
@AnuragDabas:是的,试过这个
pattern = '\b' + '|'.join(array) + '\b' results = df[df['Message'].str.contains(pattern).fillna(False)],但不起作用。 -
尝试转义
\b并用 () 包装字符串,如下所示:pattern = '\\b(' + '|'.join(arr) + ')\\b'。match比contains效果更好,因为现在它会产生警告。 -
太棒了!谢谢!
-
@Emma:把它作为答案,我会选择它!
标签: python python-3.x pandas string dataframe