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

如何将Pandas DataFrame转换为指定格式的元组字典?

解决Pandas DataFrame转元组字典的问题

你可以通过stack()方法先将DataFrame的列标签转换为行索引的一部分,再转成字典,就能得到你想要的格式:

步骤示例

  1. 先构造对应结构的DataFrame(如果还没创建的话):
import pandas as pd

data = {
    'Customer': ['Customer 1', 'Customer 2'],
    'Period 1': [31, 46],
    'Period 2': [222, 187]
}
df = pd.DataFrame(data).set_index('Customer')
  1. 执行转换操作:
tuple_dict = df.stack().to_dict()

执行后得到的结果完全符合你的需求:

{('Customer 1', 'Period 1'): 31,
 ('Customer 2', 'Period 1'): 46,
 ('Customer 1', 'Period 2'): 222,
 ('Customer 2', 'Period 2'): 187}

原理说明

  • stack()会把DataFrame的列(Period 1、Period 2)“堆叠”到行索引层面,生成一个带多级索引(MultiIndex)的Series,每个元素的索引是(Customer名称, Period名称)的元组,值就是对应单元格的数值。
  • 对这个Series直接调用to_dict(),会自动将多级索引的元组作为字典的键,数值作为对应的值,正好匹配你要的格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 22:20:35