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

是否有Pandas函数可保留Excel重复列名?求替代手动重命名方法

高效保留Excel重复列名的处理方案

读取时直接保留原始列名

用pandas.read_excel时,先单独读取表头获取原始列名,再用该列名列表重新读取数据,避免自动重命名:

import pandas as pd

# 读取表头行(假设表头在第0行)
header_row = pd.read_excel("your_file.xlsx", nrows=0)
original_cols = header_row.columns.tolist()

# 传入原始列名读取完整数据
df = pd.read_excel("your_file.xlsx", header=0, names=original_cols)

这样读取后的DataFrame会完全保留Excel里的重复列名,不会出现A.1、A.2这类自动生成的后缀。

已读取数据的批量恢复

如果已经得到了带自动后缀的列名,可通过解析列名批量恢复原始名称:

# 处理现有df的列名
original_cols = []
for col in df.columns:
    # 拆分后缀,提取原始名称
    original_cols.append(col.rsplit(".", 1)[0] if "." in col else col)

df.columns = original_cols

不管重复列有多少个、重复多少次,都能一键还原原始列名。

Melting操作建议

保留重复列名后,执行melting时可通过var_name指定列名标识,value_name存储对应值:

melted_df = df.melt(var_name="original_column", value_name="data_value")

如果需要区分同一列名的不同实例,可以在melt后结合groupby或添加序号,但如果仅需保留原始列名用于分类,直接执行上述代码即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 09:35:03