str。包含熊猫的特定模式

时间:2020-05-10 15:14:39

标签: python string pandas

COL1

a-b(+)je
a-b(-)neee
a-gd(+)ee 
bb-e(+)bdbd
ad-b(-)ddh

并且我只希望对包含'(-)'模式的行获取TRUE

我尝试过:

df['COL1'].str.contains('(-)')

但是由于字符串

中的-,所有行都响应为true

预期的行为:

FALSE
TRUE
FALSE
FALSE
TRUE
FALSE

我在代码中使用它:

np.where(df['COL1'].str.contains('(-)'), do something)

1 个答案:

答案 0 :(得分:1)

由于()是特殊的正则表达式字符,因此您可以传递regex=False

print (df['COL1'].str.contains('(-)', regex=False))
0    False
1     True
2    False
3    False
4     True
Name: COL1, dtype: bool

或者通过\进行转义:

print (df['COL1'].str.contains('\(-\)'))
0    False
1     True
2    False
3    False
4     True
Name: COL1, dtype: bool