我试图从我的单词列表中删除所有符号,我为这些符号创建了一个熊猫数据框“df”。我知道有更简单的方法,但我想尝试一下我的方法,首先在np.array中列出唯一的字符,然后使用for循环,我只将字母表中的特殊字符分离出来,然后将这些特殊字符放入另一个np.array中。 我的符号数组
symbols=
[['!']
['&']
["'"]
['(']
[')']
[',']
['-']
['.']
['1']
['2']
['3']
[':']
[';']
['?']
['[']
[']']]
现在,我为符号数组中的每个项运行for循环,并使用df.replace将其替换为空格(在此之前,我在所有符号之前添加了一个空格,并创建了symbolspace,以避免替换“(”时出错)
for symbol in symbolspace:
df=df.str.replace(str(symbol),"", regex= True)
现在我的问题是,除了“-”之外,它做得很正确。但首先我用df.replace(symbol,"", regex= True)
而不是df.replace(str(symbol),"", regex= True)
尝试了这个,这给了我这个error: missing ), unterminated subpattern
。请回答为什么我会出现这个错误。即使我不使用str(symbol)
,该数组符号空间的所有条目都已经是字符串(它显示str64)。为什么它对符号np.array中的“-”不起作用?它在我只写df.replace('-',"",regex=True)
时起作用
在本例中,} 将用
symbol
是类似于['(']
的列表。所以^{""
替换列表中的元素出现错误的原因是您启用了
regex
,并且(
是正则表达式中的一个特殊字符。它应该被)
很好地包围起来执行}被视为特殊字符。假设你写
str(symbol)
操作时,列表将转换为类似['-']
的字符串。由于使用regex=True
启用regex模式,[]
中的内容将被视为您希望匹配的一组字符^方括号中的{[a-c]
,它和[abc]
一样相关问题 更多 >
编程相关推荐