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

如何从字典列表构建指定结构的pandas DataFrame

实现方案

你不需要逐字典调用pd.DataFrame.from_dict()后再拼接,直接用pandas原生的列表入参构造方式即可,代码更简洁,执行效率也更高。

核心代码

import pandas as pd
from typing import List, Dict
from decimal import Decimal

# 输入示例
input_data: List[Dict[Decimal, Decimal]] = [
    {0: 0.05, 0.5: 0.15, 1: 0.1}, 
    {0: 0.06, 0.5: 0.14, 1: 0.2}, 
    {0: 0.09, 0.5: 0.25, 1: 0.17}
]

# 一步构造并调整为目标结构
df = pd.DataFrame(input_data).T
df.columns = [f"Dict {i+1}" for i in range(len(input_data))]
df.index.name = "Index"

运行后输出的结果完全匹配预期格式:

Dict 1  Dict 2  Dict 3
Index                        
0.0      0.05    0.06    0.09
0.5      0.15    0.14    0.25
1.0      0.10    0.20    0.17

方案优势

  • 代码量更少:无需编写循环,无需多次创建DataFrame对象、调用pd.concat做拼接,核心逻辑仅3行
  • 执行效率更高:pandas内部对列表类入参做了向量化优化,避免了循环生成小对象、多次内存拷贝的额外开销,当n、m数值较大时,性能优势会非常明显

适配说明

  • 该方案完全适配你提到的所有字典键固定一致的场景
  • 如果存在个别字典缺键的情况,pandas会自动将缺失位置填充为NaN,可按需追加fillna逻辑处理
  • 如果需要统一数值类型为浮点型,构造时传入dtype=float参数即可:pd.DataFrame(input_data, dtype=float).T

内容的提问来源于stack exchange,提问作者Asier Garcia Ruiz

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 22:27:20