pandas - 替换列名称中的部分字符串

标签 pandas dataframe replace multiple-columns rename

我在更改列名称时遇到问题。有一个部分我必须删除。表格如下所示

Column.name_1  Column.name_2  Column.*.name_3  Column_name_4  Column_*_name_5
    

我写了一行代码,将点和线改为下划线:

df_check.columns = df_check.columns.str.replace('.*.', '_')

但我明白了

Column_name_1  Column_name_2  Column___name_3  Column_name_4  Column___name_5

我需要以下只有一个 uderscore 的结果。

Column_name_1  Column_name_2  Column_name_3  Column_name_4  Column_name_5

你能帮我解决这个问题吗? 问候

最佳答案

您可以使用:

df_check.columns = df_check.columns.str.replace(r'[.*_]+', '_', regex=True)

输出名称:

['Column_name_1', 'Column_name_2', 'Column_name_3', 'Column_name_4', 'Column_name_5']

关于pandas - 替换列名称中的部分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74741272/

相关文章:

Python pandas CustomBusinessDay

python - Pandas:有没有办法使用类似 'droplevel' 的东西,并在处理过程中使用丢弃的级别标签作为前缀/后缀重命名其他级别?

excel - 在 VBA 中,用文本值替换公式输出

java - 你如何简单地替换 htmlspecialchars ?

php - 从字符串中删除列入黑名单的字词,然后消除不必要的空格

python - 如何在 Pandas 中做一系列系列

python - 如何从开始时间中减去每次

r - 沿着数据框行滑动并将行与下一行进行比较

python - 进行 Pandas 比较时,如何从 np.nan>np.nan 返回 np.nan?

python - 向 python 添加工作日