如何在python中选择其列值之一包含特定字符串的行?

时间:2018-11-24 11:41:06

标签: python pandas dataframe

如何在python中选择其列值之一包含特定字符串的行?

我使用了提到的here并在使用示例数据框时出现错误,它看起来还不错,我对自己从文件中读取的数据框感到怀疑,但仍然无法猜出问题是:

df=pd.read_csv("location",encoding = "ISO-8859-1") # readCSV
df[df['DESCRIPTION'].str.contains('+')

错误:

File "C:\ProgramData\Anaconda3\lib\sre_parse.py", line 616, in _parse
source.tell() - here + len(this))
error: nothing to repeat

1 个答案:

答案 0 :(得分:0)

+是特殊的正则表达式字符(匹配一个或多个重复项),因此需要对其进行转义:

df = pd.DataFrame({'DESCRIPTION': ['aa+','a','+']})

df = df[df['DESCRIPTION'].str.contains('\+')]
print(df)

  DESCRIPTION
0         aa+
2           +

或添加参数regex=False

df[df['DESCRIPTION'].str.contains('+', regex=False)]