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

如何修复Pandas蛇形命名列转小驼峰命名的代码问题

修复Pandas大写蛇形列名转小驼峰命名的问题

你的代码问题出在最后一步替换首字母的逻辑:转小写后的列名col的首字母是小写,但经过title()处理后的字符串首字母是大写,用小写的col[0]去替换大写的首字母,根本找不到匹配项,所以首字母还是保持大写。

修复后的代码

import pandas as pd

# Sample DataFrame with column names
data = {'RID': [1, 2, 3],
        'RUN_DATE': ['2023-01-01', '2023-01-02', '2023-01-03'],
        'PRED_VOLUME_NEXT_360': [100, 150, 200]}

df = pd.DataFrame(data)

# 转换为首字母小写的小驼峰命名
df.columns = [
    # 分割单词:第一个全小写,后续单词首字母大写
    parts[0].lower() + ''.join(part.capitalize() for part in parts[1:])
    for parts in [col.split('_') for col in df.columns]
]

print(df)

代码说明

  1. 先将每个列名按下划线_分割成单词列表,比如RUN_DATE会被拆分为["RUN", "DATE"]
  2. 第一个单词直接转全小写,得到"run"
  3. 后续每个单词用capitalize()处理(首字母大写、其余字母小写),比如"DATE"变成"Date"
  4. 把所有部分拼接起来,最终得到"runDate"这种小驼峰格式

另一种实现方式(先统一转小写再处理)

如果更习惯先把所有列名转小写,也可以用下面的写法,效果完全一致:

df.columns = [
    parts[0] + ''.join(part.title() for part in parts[1:])
    for parts in [col.split('_') for col in df.columns.str.lower()]
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 20:20:09