如何为Pandas DataFrame添加分组二级表头
为Pandas DataFrame添加二级表头
要实现需求的二级表头,你可以使用Pandas的MultiIndex(多级索引)构造列名,具体步骤如下:
1. 导入依赖并创建原DataFrame
import pandas as pd df = pd.DataFrame({'col1':[1,2], 'col2':[3,4], 'col3':[5,6], 'col4':[7,8], 'col5':[9,10]})
2. 构造多级列索引
通过pd.MultiIndex.from_arrays可以直观创建二级表头结构:
# 定义两级表头的对应关系 levels = [ ['header1', 'header1', 'header1', 'header2', 'header2'], ['col1', 'col2', 'col3', 'col4', 'col5'] ] # 为DataFrame设置多级列索引 df.columns = pd.MultiIndex.from_arrays(levels, names=['', ''])
3. 查看最终结果
此时打印df即可得到目标格式:
header1 header2 col1 col2 col3 col4 col5 0 1 3 5 7 9 1 2 4 6 8 10
补充说明
- 若需要给顶层表头设置名称,可修改
names参数,比如names=['顶层表头', '子表头'];你的需求中顶层无名称,所以设为['', '']即可。 - 后续访问列时,可通过
df['header1']['col1']或df.loc[:, ('header1', 'col1')]的方式定位具体列。
内容的提问来源于stack exchange,提问作者corianne1234
相关产品推荐
相关产品推荐

