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

如何将字典列表转换为单行pandas DataFrame?

解决方法

要将多个单键字典的列表转换为单行DataFrame,核心是先把所有字典合并成一个完整的字典,再基于这个字典创建DataFrame。

方法1:循环合并字典(直观易懂)

import pandas as pd

list_of_dicts = [{'key1': 'value1'}, {'key2':'value2'}]

# 合并所有字典为一个大字典
combined_dict = {}
for d in list_of_dicts:
    combined_dict.update(d)

# 生成单行DataFrame
df = pd.DataFrame([combined_dict])
print(df)

输出:

key1    key2
0  value1  value2

方法2:用itertools简化合并(更简洁)

如果列表较长,可借助itertools.chain来简化合并操作:

import pandas as pd
from itertools import chain

list_of_dicts = [{'key1': 'value1'}, {'key2':'value2'}]

combined_dict = dict(chain.from_iterable(d.items() for d in list_of_dicts))
df = pd.DataFrame([combined_dict])

为什么你的原有方法无效?

  • 直接用pd.DataFrame(list_of_dicts)时,pandas会把每个字典视为一行数据,因此每行只有对应键有值,其他列自动填充NaN。
  • 你的循环代码错误地将列值设为键名k而非实际值v,且空DataFrame直接赋值列的方式无法正确生成行数据,正确的做法是先构造完整的字典再创建DataFrame。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 21:25:52