如何识别包含多个单词的字符串

时间:2019-05-06 15:37:37

标签: python regex conditional string-search

数据类型为字符串的数据框列文本包含句子,我希望提取包含某些单词的行,而与它们出现的位置无关。

例如:

Column
Cat and mouse are the born enemies
Cat is a furry pet


df = df[df['cleantext'].str.contains('cat' & 'mouse')].reset_index()
df.shape

以上内容引发错误。

我知道我们可以写--

df = df[df['cleantext'].str.contains('cat | mouse')].reset_index()

但是我想提取出猫和老鼠都存在的行

预期输出-

Column
Cat and mouse are the born enemies

1 个答案:

答案 0 :(得分:0)

这是一种方法,也适用于多个单词:

words = ['cat', 'mouse']
m = pd.concat([df.Column.str.lower().str.contains(w) for w in words], axis=1).all(1)
df.loc[m,:]

      Column
0  Cat and mouse are the born enemies