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

在Azure Databricks中如何替换Pandas DataFrame列名字符串并移除前两位

报错原因

该报错和parquet格式存在关联:parquet的元数据规范支持存储非字符串类型的列标识,你从parquet文件加载数据生成Pandas DataFrame时,列名没有被自动转换为字符串类型,因此调用.str系列字符串方法时会触发类型错误。

解决方法

1. 先统一将所有列名转换为字符串类型

执行以下代码完成类型转换:

df.columns = df.columns.astype(str)

2. 实现移除列名前两个字符的需求

你之前使用的'T$'正则是匹配列名末尾的T做替换,不符合移除前两个字符的要求,直接用字符串切片即可:

df.columns = df.columns.str[2:]

如果需要兼容列名长度不足2的场景,避免生成空列名,可以用推导式写法:

df.columns = [col[2:] if len(col) >= 2 else col for col in df.columns.astype(str)]

验证修改结果

执行以下代码打印列名,确认修改符合预期:

print(df.columns.tolist())

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 08:39:04