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

Pandas如何将多个二维DataFrame合并为带层级列的三维DataFrame

Pandas 分层列合并实现方案

你需要的分层列效果本质是pandas的MultiIndex多级列结构,不需要构造特殊三维对象,直接用横向拼接+指定一级列键值即可实现,代码如下:

import pandas as pd

# 横向拼接两个目标DataFrame,keys参数对应一级分类列名
merged_df = pd.concat(
    [dfB, dfC],
    axis=1,
    keys=["Gaming", "Casual"]
)

执行后输出的merged_df结构完全匹配预期:

Gaming       Casual
           brand price  brand price
cheap        ASUS   200     HP   500

补充使用说明

  • 该方法会自动按行索引对齐数据,你当前两个DataFrame的行索引都是cheap,因此不会产生空值;如果后续合并的DataFrame行索引不完全一致,pandas会自动按索引匹配,缺失位置填充NaN。
  • 分层列的取值方式和普通列略有区别:
    • 取整个Gaming分类下的所有列:merged_df["Gaming"]
    • 取Gaming分类下的brand列:merged_df[("Gaming", "brand")]
  • 如果需要调整两个一级分类的展示顺序,直接修改keys参数里的字符串顺序即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 17:24:21