我正在清理pandas数据框中的一列,以除去包含某些字符的垃圾用户名。这是示例:
d = {'username': ["11111", "222!22", "21212!", "85511$", "8552$", "115522@@"]}
df = pd.DataFrame(data=d)
username
0 11111
1 222!22
2 21212!
3 85511$
4 8552$
5 115522@@
....
我正在使用以下设备,并且按预期方式工作:
df[~df['username'].str.contains('~|`|!|@|#|\$|%|\^|&|\*|\(|\)|-|_|\+|=|{|\[|}|]|:|;|"|\'|<|,|>|\.|/|\?')]
但是我想再添加两个字符:
\
和|
当我尝试为\\
添加\
和\|
|
之类的内容时,我收到错误消息。我该怎么办?
答案 0 :(得分:3)
尝试在字符串前面添加r
,以便Python将您的字符串解释为原始字符串:
df[~df['username'].str.contains(r'~|`|!|@|#|\$|%|\^|&|\*|\(|\)|-|_|\+|=|{|\[|}|]|:|;|"|\'|<|,|>|\.|/|\?')]
答案 1 :(得分:2)