如何使用Pandas合并多个DataFrame并生成多层级表头结构
Pandas 多DataFrame拼接多级表头实现方案
- 首先构造示例DataFrame
import pandas as pd # 第一张表(A、B列,数值数据) df1 = pd.DataFrame([[1, 2], [3, 4]], columns=["A", "B"]) # 第二张表(C、D列,文本数据) df2 = pd.DataFrame([["Cat", "Dog"], ["Dino", "Fish"]], columns=["C", "D"])
- 为两个表的列添加层级表头
使用pd.MultiIndex.from_product给原列名新增上层表头,上层表头的名称可以根据需求自定义,示例中分别设为数值表、文本表:
# 给df1列名加一级表头 df1.columns = pd.MultiIndex.from_product([["数值表"], df1.columns]) # 给df2列名加一级表头 df2.columns = pd.MultiIndex.from_product([["文本表"], df2.columns])
- 横向拼接两个处理后的表
final_df = pd.concat([df1, df2], axis=1)
拼接完成后的final_df就符合你要的多层级表头结构,打印输出效果如下:
数值表 文本表 A B C D 0 1 2 Cat Dog 1 3 4 Dino Fish
如果有更多DataFrame需要拼接,重复上面添加多级列名的步骤,再全部放入concat的列表参数即可。
内容的提问来源于stack exchange,提问作者Róbert Attila Nagy
相关产品推荐
相关产品推荐

