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

如何跳过Pandas DataFrame索引列名上方行及设置列名为单行

问题1:跳过DataFrame索引列名称上方的行

直接在读取数据阶段通过参数控制即可,举两个常用场景的实现方法:

  • 若已知列名上方有固定行数的无效内容,用skiprows参数跳过:
    import pandas as pd
    df = pd.read_csv('你的文件路径.csv', skiprows=2)  # 跳过前2行,从第3行开始读取列名和数据
    
  • 若明确知道列名所在的行号(从0开始计数),用header参数指定列名行:
    df = pd.read_csv('你的文件路径.csv', header=1)  # 将第2行设为列名,自动跳过上方所有行
    
问题2:将所有列名设置在同一行

这种情况大多是读取数据时生成了多级列名(MultiIndex),直接单列重命名无效,需要合并多级列名:

  1. 先确认列名类型:运行print(df.columns),若输出类似MultiIndex([('列1', '子列1'), ('列2', '子列2')],),就是多级列名
  2. 合并为单行列名,示例用下划线连接各级名称:
    df.columns = ['_'.join(str(col) for col in col_group).strip() for col_group in df.columns]
    
    不需要连接符的话,直接拼接即可:
    df.columns = [''.join(str(col) for col in col_group).strip() for col_group in df.columns]
    
  3. 未读取数据前提前规避:读取时不要设置header为列表(比如header=[0,1]),直接指定唯一的列名行号,比如header=2,就能直接得到单行列名

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 06:15:19