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

如何给pandas DataFrame添加多级子表头以提升列分组可读性

pandas可通过设置多级列索引(MultiIndex)实现你需要的两级分组表头效果,以下是两种常用实现方案:

方案1:元组构造法(适合列数少、分组规则明确的场景)

直接为每一列指定对应的一级、二级表头,代码如下:

import pandas as pd

# 你原有列选择逻辑
df1 = df1[['Date', 'Time', 'USA', 'Canada', 'SD', 'HD']]

# 构造两级列索引,元组格式为(一级表头, 二级表头),顺序和现有列完全对应
df1.columns = pd.MultiIndex.from_tuples(
    [
        ('When', 'Date'),
        ('When', 'Time'),
        ('Country', 'USA'),
        ('Country', 'Canada'),
        ('Channel', 'SD'),
        ('Channel', 'HD')
    ]
)

方案2:数组批量构造法(适合列数多、分组规则可批量匹配的场景)

不用逐个写元组,通过两个顺序对应的数组分别定义一级、二级表头,批量生成索引:

# 一级表头数组,顺序和现有列一一对应
level1_header = ['When', 'When', 'Country', 'Country', 'Channel', 'Channel']
# 二级表头直接复用原有的列名
level2_header = df1.columns.tolist()

# 生成多级列索引并赋值
df1.columns = pd.MultiIndex.from_arrays([level1_header, level2_header])

设置完成后打印表头即可看到你预期的分组效果,后续取数时也可直接按分组调取,比如调取When分组下的所有列可以直接写df1['When']。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 02:54:05