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

如何在列名包含特定文本时批量修改数据表列名

批量修改数据表列名实现方法

核心规则:将目标列名以下划线_为分隔符做字符串拆分,取拆分结果的最后一段作为新列名即可,以下是不同数据处理场景的实现代码:

  • Python Pandas 环境
    直接对DataFrame的columns属性做列表推导式批量替换即可:
    # 全量列批量重命名
    df.columns = [col.split("_")[-1] for col in df.columns]
    
    以示例列名MAC000306_Std_E_Affluent为例,执行split("_")会得到拆分列表['MAC000306', 'Std', 'E', 'Affluent'],取列表最后一位就是目标列名Affluent,其余列会按相同规则自动生成Comfortable、对应列值、Adversity,和预期结果完全一致。
    如果需要保留不符合下划线命名规则的列名,可以增加判断逻辑:
    # 仅对包含下划线的列执行重命名,其余列保留原名
    df.columns = [col.split("_")[-1] if "_" in col else col for col in df.columns]
    
  • MySQL 数据库环境
    可以用内置的SUBSTRING_INDEX函数快速截取最后一段内容,先验证截取结果再执行字段修改:
    -- 验证截取逻辑是否正确
    SELECT SUBSTRING_INDEX('MAC000306_Std_E_Affluent', '_', -1);
    -- 验证通过后执行字段重命名
    ALTER TABLE 你的表名 RENAME COLUMN 原列名 TO 新列名;
    
  • R dplyr 环境
    用rename_with配合字符串拆分函数批量处理:
    library(dplyr)
    library(stringr)
    df <- df %>% rename_with(~str_split_i(.x, "_", -1))
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 20:55:01