我有一个关键字列表以及一个包含文本列的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
我想删除文本中包含密钥的所有行,以便最终得到:
A Text
0 5 Sample text one
1 6 Sample text two
答案 0 :(得分:3)
使用str.contains
并使用|
加入密钥以创建正则表达式模式并取消布尔掩码~
以过滤您的df:
In [123]:
keys = ['key','key2']
df[~df['Text'].str.contains('|'.join(keys))]
Out[123]:
A Text
0 5 Sample text one
1 6 Sample text two