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

如何将两个字典作为行合并为单个pandas DataFrame

实现方案

直接将每个字典作为行数据传入pandas.DataFrame构造器即可,核心是把多个字典包裹在列表中传入,同时补充你需要的set标识列。

最简写法

针对你给出的示例,代码如下:

import pandas as pd

foo = {'mean': 0.11, 'median': 0.09, 'p90': 0.24}
bar = {'mean': 0.10, 'median': 0.09, 'p90': 0.20}

df = pd.DataFrame([
    {"set": "foo", **foo},
    {"set": "bar", **bar}
])

输出结果完全匹配你的预期:

set  mean  median  p90
0  foo  0.11    0.09  0.24
1  bar  0.10    0.09  0.20

如果你不需要默认的数字索引,还可以把set列设为索引:

df = df.set_index("set")

得到的结果为:

mean  median  p90
set                  
foo  0.11    0.09  0.24
bar  0.10    0.09  0.20

批量处理写法

如果需要处理的字典数量较多,建议先把所有字典按名称存为键值对映射,再通过列表推导式批量生成行数据,避免手动逐个编写条目:

# 汇总所有待处理字典
dict_collection = {
    "foo": foo,
    "bar": bar
    # 后续新增字典直接在这里加键值对即可
}

df = pd.DataFrame([
    {"set": dict_name, **stat_values}
    for dict_name, stat_values in dict_collection.items()
])

说明:如果不同字典包含的统计字段(键)不完全一致,pandas会自动对齐列名,缺失的字段默认填充NaN值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 15:36:23