python - 在 pandas 中查找并替换子字符串的循环

标签 python pandas

我有一个数据框,其中一列中的很多值都有 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/

相关文章:

java - 使用 Python 在 Windows 上检测系统声音

python - 模块未找到错误 : No module named 'tensorflow_docs' when creating TensorFlow docs

python - 根据条件创建求和行

python - 创建具有不同大小列的 Pandas Dataframe

python - 使用 Visual Studio 进行 Scrapy 调试

python - 在 python 中使用 joblib 进行并行处理时,对象属性似乎没有变化

python - 模块未找到错误: No module named 'kucoin.client'

python - 将 DataFrame 的整数索引和生成的 SciPy 矩阵视为同一件事是个坏主意吗?

Python Dataframe 从数百万行的大日期时间索引中提取唯一日期列表

python - 将 pandas 虚拟添加到 numpy 数组中?