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

如何将嵌套字典转换为指定格式的多列Pandas DataFrame?

解决方案

你当前用stack()会把DataFrame的列索引堆叠到行索引中,最终得到二级索引的Series。要得到多列的DataFrame,只需要调整创建方式,去掉不必要的stack()操作即可,分两种常见场景:

场景1:外层键(A/B/C)作为行索引,内层键(a/b)作为列

直接使用from_dict并指定orient='index',无需stack():

import pandas as pd

kdict = {'A': {'a': 1, 'b': 2}, 'B': {'a': 3, 'b': 4}, 'C': {'a': 5, 'b': 6}}
df = pd.DataFrame.from_dict(kdict, orient='index')
# 可选:自定义列名
df.columns = ['列a', '列b']

得到的结构如下:

列a列b
A12
B34
C56

场景2:内层键(a/b)作为行索引,外层键(A/B/C)作为列

可以通过转置原DataFrame,或者直接指定orient='columns'实现:

# 方法1:转置已有DataFrame
df = pd.DataFrame.from_dict(kdict, orient='index').T
# 方法2:直接指定orient参数
df = pd.DataFrame.from_dict(kdict, orient='columns')

# 可选:自定义列名
df.columns = ['列A', '列B', '列C']

得到的结构如下:

列A列B列C
a135
b246

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 23:02:09