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

如何将含元组键值对的Python字典转换为Pandas DataFrame

转换元组键值对字典为指定结构的Pandas DataFrame

方法一:列表推导式直接生成数据

先定义目标字典,通过列表推导式遍历每个键值对,拆分元组元素后直接转换为DataFrame并指定列名:

import pandas as pd

# 原始字典
my_dict = {(1, 2): (3, 4), (4, 5): (5, 9)}

# 拆分键和值,生成结构化数据列表
data = [(k1, k2, v1, v2) for (k1, k2), (v1, v2) in my_dict.items()]

# 转换为目标DataFrame
df = pd.DataFrame(data, columns=['key1', 'key2', 'val1', 'val2'])

print(df)

运行输出:

key1  key2  val1  val2
0     1     2     3     4
1     4     5     5     9

方法二:分步拆分索引与列

如果需要保留分步处理逻辑,可以先将字典转为以元组为索引的DataFrame,再拆分索引和列:

import pandas as pd

my_dict = {(1, 2): (3, 4), (4, 5): (5, 9)}

# 以键为索引、值为列生成初始DataFrame
df = pd.DataFrame.from_dict(my_dict, orient='index', columns=['val1', 'val2'])

# 重置索引,将元组索引转为普通列
df.reset_index(inplace=True)

# 拆分索引列的元组为key1和key2
df[['key1', 'key2']] = pd.DataFrame(df['index'].tolist(), index=df.index)

# 调整列顺序并删除临时索引列
df = df[['key1', 'key2', 'val1', 'val2']].drop('index', axis=1)

print(df)

两种方法都能得到目标结构的DataFrame,方法一简洁高效,适合多数场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 01:39:39