我有一个数据框,其中一列中的很多值都有 python 不友好的字符,例如 &。
我想制作一本字典,然后循环查找和替换
有点像这样:
replacements = {
" ": ""
,"&": "and"
,"/":""
,"+":"plus"
,"(":""
,")":""
}
df['VariableName']=df['VariableName'].replace(replacements,regex=True)
但是这会出现以下错误代码:
error: nothing to repeat at position 0
最佳答案
我认为你需要在字典理解中转义特殊的正则表达式字符:
import re
df = pd.DataFrame({'VariableName':['ss dd +','(aa)']})
replacements = {re.escape(k):v for k, v in replacements.items()}
df['VariableName']=df['VariableName'].replace(replacements,regex=True)
print (df)
VariableName
0 ssddplus
1 aa
关于python - 在 pandas 中查找并替换子字符串的循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53590792/