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

Python中值为不等长列表的字典如何转换为pandas DataFrame

报错原因

pd.DataFrame.from_dict()默认将字典的键作为DataFrame的列名,要求所有键对应的数组/列表长度完全一致,才能拼接成标准的二维表结构。传入的字典各value列表长度分别为1、2、3,长度不匹配,因此触发ValueError: All arrays must be of the same length报错。

实现方案

目标结构是把字典键单独作为name列、对应列表整体作为value列的行元素,不需要把列表拆成多行多列,直接将字典的键值对转为列表传入DataFrame构造函数,手动指定列名即可,代码如下:

import pandas as pd

data = {'A': [1], 'B': [1,2], 'C': [1,2,3]}

df = pd.DataFrame(list(data.items()), columns=['name', 'value'])
输出效果

运行上述代码得到的DataFrame结构完全匹配预期:

name      value
0    A        [1]
1    B     [1, 2]
2    C  [1, 2, 3]

如果需要name列的字符串值外层自带单引号,可以在构造前对键做格式化处理,用[(f"'{k}'", v) for k,v in data.items()]替换代码里的list(data.items())即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 16:18:21