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

如何从值为列表的Python字典创建预期结构的pandas DataFrame

问题根因

代码输出不符合预期的核心错误是传入DataFrame构造器的数据源有误:new_dict.items()返回的是(键, 值列表)格式的元组迭代器,pandas会将每个元组解析为单独一行,因此最终生成的是两行数据,每行分别存储字典的键、以及该键对应的整列值列表,和预期的按列存储结构完全不符。

修正方案

该需求可以直接实现,pandas DataFrame原生支持值为等长列表的字典作为输入,字典的键会自动被识别为列名,不需要调用items()方法:

import pandas as pd

new_dict = {'mid': ['1', '2'], 'type': ['a', 'b']}
df = pd.DataFrame(new_dict)
print(df)

运行后基础输出如下:

mid type
0   1    a
1   2    b

如果你需要行索引从1开始,和你给出的预期输出格式完全匹配,创建DataFrame时指定索引即可:

df = pd.DataFrame(new_dict, index=[1, 2])
print(df)

此时输出完全符合预期:

mid type
1   1    a
2   2    b

补充说明:不需要手动给columns参数传入list(new_dict),直接传入字典时pandas会自动提取键作为列名,多余的参数反而可能引发数据错位问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 00:36:20