You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将DataFrame列名中的点、星号替换为单个下划线?

解决DataFrame列名替换的连续下划线问题

问题根源

你之前用的df_check.columns.str.replace('.*.', '_')正则写法错误:正则里的.是匹配任意字符,*是匹配前字符0次或多次,这会把大片字符错误替换成下划线,完全不符合需求。

正确解决方案

你需要把.和*替换为下划线,同时合并连续的下划线,两种实现方式任选:

方法1:分两步处理

# 1. 将所有点(.)和星号(*)替换为下划线
df_check.columns = df_check.columns.str.replace(r'[.*]', '_', regex=True)
# 2. 把连续的下划线合并成单个
df_check.columns = df_check.columns.str.replace(r'_+', '_', regex=True)

方法2:一步正则搞定

直接匹配一个或多个连续的./*,替换成单个下划线:

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

验证结果

对示例列名处理后,都会得到符合要求的结果:

  • Column.name_1 → Column_name_1
  • Column.name_2 → Column_name_2
  • Column.*.name_3 → Column_name_3
  • Column_name_4 → Column_name_4(无变化)
  • Column_*_name_5 → Column_name_5

内容的提问来源于stack exchange,提问作者Tmiskiewicz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 11:40:36