我有一个像这样的pandas数据框:
Beer Rating
0 Heineken Good
1 Budweiser Bad
2 Coors Light Bad
和一个如下所示的列表:
bad_beers = ["Light", "0.0%"]
如何从列表中删除包含给定字符串的pandas数据框中的每一行?
所需的输出应如下所示:
Beer Rating
0 Heineken Good
1 Budweiser Bad
答案 0 :(得分:2)
我们可以使用str.contains
df[~df.Beer.str.contains('Light')]
Out[364]:
Beer Rating
0 Heineken Good
1 Budweiser Bad
如果列表包含更多项目使用|
df[~df.Beer.str.contains('Light|Heineken')]
Out[365]:
Beer Rating
1 Budweiser Bad