首页 > 解决方案 > 过滤具有精确字符串匹配的数据框

问题描述

有没有办法str.contains只过滤字符串的完全匹配而不是部分匹配

List = ['good', 'bad']

df

  col
1 good
2 this is good 
3 good boy
4 bad dream
5 goodman
6 badboy
7 bad 

df[(df['col'].str.contains('|'.join(List),na=False, ))]

期望的输出

1 good
6 bad 

标签: pythonpandas

解决方案


你可以isin在这个场景中使用

前任:

data = ['good', 'bad']
print(df[df['col'].isin(data)])

输出:

    col
0  good
6   bad

推荐阅读