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

Python中如何将含不等长列表的字典转为指定格式pandas DataFrame

解决方案

你遇到的报错是因为pandas默认将传入字典的键识别为列名,要求所有键对应的数值长度一致,而你的字典中既有列表类型的值、也有标量值,长度不匹配才触发错误。要实现你需要的行式存储的输出效果,先将字典展开为逐行的键值对结构再转DataFrame即可。

实现代码

完整分步写法

import pandas as pd

my_dict = {"Column A":[1,2,3], "ABC":456, "CDE":[12,11]}

# 展开字典为键值对列表
processed_data = []
for key, value in my_dict.items():
    # 统一处理为列表格式,避免标量无法遍历的问题
    value_list = value if isinstance(value, list) else [value]
    for single_val in value_list:
        processed_data.append((key, single_val))

# 生成DataFrame,不需要列名可直接不传columns参数
df = pd.DataFrame(processed_data)
print(df)

简洁列表推导式写法

df = pd.DataFrame([
    (key, val) 
    for key, values in my_dict.items() 
    for val in (values if isinstance(values, list) else [values])
])

运行后输出的结果和你要求的效果完全一致,如果不需要展示列名,可额外添加代码df.columns = ['', '']后再打印。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 13:54:03