在 Pandas 数据框中替换所有列的多个字符。

3

我的数据框有200+列。部分列名包含特殊字符,如:() [] 我需要将所有这三个字符都替换为 _。同时我也需要替换空格... 这是我的代码:

import pandas as pd

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

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

使用上述代码,我只能替换()
1个回答

8

您可以使用

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

第一行将使用_替换每个独立的][()和空格。

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


我还需要替换字符串中的空格。我编辑了我的问题。你介意编辑一下你的答案吗?对此感到抱歉。非常感谢你的帮助! - Chique_Code
2
@Chique_Code 请查看更新。如果您需要替换任何空格,请使用\s进行替换。 - Wiktor Stribiżew
抱歉,我需要回到它。它没有让我立即接受。现在一切都准备好了。再次感谢! - Chique_Code

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接