如何在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
答案 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)]