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

将元组为键、列表为值的字典转换为pandas DataFrame的方法

实现方案

首先修正示例字典的语法,原示例的字典值写法不符合Python规范,正确的嵌套列表写法如下,同时注意不要使用dict作为变量名,会覆盖Python内置的字典类型,容易引发未知错误。

核心实现代码

import pandas as pd

# 修正后的符合Python语法的示例字典
data = {('a','b'): [[1,2], [4,5]], ('a','c'): [[7,8], [1,3]], ('b','c'): [[1,8], [1,3]]}

# 生成结构化记录:遍历每个键和对应的子列表,拼接元组为字符串,拆分列表元素
records = [[','.join(key), *sub_list] for key, sub_lists in data.items() for sub_list in sub_lists]

# 直接生成目标DataFrame
df = pd.DataFrame(records, columns=['K', 'X', 'Y'])

输出结果验证

最终生成的df结构完全符合需求:

KXY
a,b12
a,b45
a,c78
a,c13
b,c18
b,c13

原写法问题说明

你之前使用pd.DataFrame.from_dict(dict, orient='index').T的方式,只会将元组键作为列名,每个键对应的所有子列表作为同一列下的单元格值,既不会自动展开子列表的元素到不同列,也不会将键转换为行维度的K列,因此无法得到预期结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 17:39:00