【问题标题】:Replace multiple characters across all columns pandas df替换所有列 pandas df 中的多个字符
【发布时间】:2021-07-02 12:11:16
【问题描述】:

我的 df 有 200 多列。一些列名包含特殊字符,例如:() [] 我需要将所有 3 替换为 _。我还需要替换空格...这是我的代码:

import pandas as pd

df = pd.read_csv('./pred_results.csv') 

df.columns = df.columns.str.replace(r"[()]", "_")

使用上面的代码我只能替换()

【问题讨论】:

    标签: python regex pandas dataframe replace


    【解决方案1】:

    你可以使用

    df.columns = df.columns.str.replace(r"[][() ]", "_", regex=True) 
    df.columns = df.columns.str.replace(r"[][() ]+", "_", regex=True)
    

    第一行将每个单独的][() 和空格替换为_

    第二行将用一个_ 替换后续的][() 和空格字符。

    【讨论】:

    • 我还需要替换字符串中的空格。我编辑了我的问题。你介意编辑你的答案吗?对于那个很抱歉。非常感谢您的帮助!
    • @Chique_Code 查看更新。如果需要替换任何空白,请将空格替换为\s
    • 抱歉,需要回复。它没有让我马上接受。现在一切就绪。再次感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-27
    • 2017-08-04
    • 1970-01-01
    • 2021-09-05
    • 2018-11-11
    • 2022-01-26
    • 2019-08-26
    相关资源
    最近更新 更多