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

如何将长度不一致的字典转换为Python DataFrame?

字典转目标格式DataFrame的实现方法

你需要将字典的键作为cluster列的值,对应列表中的每个元素作为value列的值,把嵌套结构展开成扁平的DataFrame,以下两种方法可以实现:

方法一:列表推导式构造数据

先通过列表推导式生成包含(cluster, value)的元组列表,再转换为DataFrame:

import pandas as pd

have = {0: [1, 2], 1: [1]}
# 生成展开后的元组列表
data = [(cluster, val) for cluster, vals in have.items() for val in vals]
# 转换为DataFrame并指定列名
df = pd.DataFrame(data, columns=['cluster', 'value'])

方法二:利用pandas的explode方法

先将字典转为Series,再通过explode方法展开列表,最后调整列名和数据类型:

import pandas as pd

have = {0: [1, 2], 1: [1]}
# 字典转Series,索引为cluster,值为对应列表
s = pd.Series(have)
# 展开列表并重置索引
df = s.explode().reset_index()
# 设置列名
df.columns = ['cluster', 'value']
# 将value列转为整数类型(explode后可能为字符串)
df['value'] = df['value'].astype(int)

两种方法运行后得到的DataFrame结构均符合你的需求:

cluster  value
0        0      1
1        0      2
2        1      1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 04:15:41