如何基于非Unnamed条件合并DataFrame的两级表头?
合并DataFrame双重表头(通用无索引依赖方案)
你可以通过遍历双重表头(MultiIndex)的每一列,自动提取非Unnamed的层级值作为新列名,完全不需要指定列索引:
1. 确保正确读取双重表头
导入Excel时指定前两行为表头:
import pandas as pd df = pd.read_excel("your_file.xlsx", header=[0, 1])
2. 合并表头的通用代码
针对明确标记为Unnamed的空表头:
df.columns = [col[0] if col[1] == "Unnamed" else col[1] for col in df.columns]
适配pandas自动生成的Unnamed: X格式:
如果Excel空表头被pandas自动命名为Unnamed: 0这类格式,用以下更通用的写法:
df.columns = [next(c for c in col if not c.startswith("Unnamed")) for col in df.columns]
效果说明
这段代码会遍历每一列的两级表头元组,自动筛选出非Unnamed的内容作为新列名。无论你的DataFrame有多少列、列顺序如何变动,都能生成你期望的一级表头:Name、Country、Age。
内容的提问来源于stack exchange,提问作者nzskra
相关产品推荐
相关产品推荐

