Pandas 按文本列中的子字符串过滤行

GNM*_*O11 1 python regex pandas

我有一个关键字列表以及一个包含文本列的 DF。我试图过滤掉文本字段中的文本包含其中一个关键字的每一行。我相信我正在寻找的是类似于该.isin方法的东西,但是当我在文本中搜索不完全匹配的子字符串时,它可以采用正则表达式参数。

我拥有的:

keys = ['key','key2']

   A        Text
0  5   Sample text one
1  6   Sample text two 
2  3   Sample text three key
3  4   Sample text four key2
Run Code Online (Sandbox Code Playgroud)

我想删除文本中包含键的任何行,这样我最终会得到:

   A        Text
0  5   Sample text one
1  6   Sample text two 
Run Code Online (Sandbox Code Playgroud)

EdC*_*ica 5

使用str.contains并连接键|来创建正则表达式模式并否定布尔掩码~来过滤您的 df:

\n\n
In [123]:\nkeys = [\'key\',\'key2\']    \xe2\x80\x8b\ndf[~df[\'Text\'].str.contains(\'|\'.join(keys))]\n\nOut[123]:\n   A              Text\n0  5   Sample text one\n1  6   Sample text two\n
Run Code Online (Sandbox Code Playgroud)\n