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

如何将pandas dataframe以索引加列名为键转换为键值对字典

pandas DataFrame转指定拼接键字典的实现方法

方法1:pandas原生API一行实现

这是最简便的写法,利用stack把DataFrame转为多级索引的Series,重命名索引后直接转字典:

import pandas as pd

# 构造示例DataFrame
df = pd.DataFrame(
    {'T1': [5, 2, 10], 'T2': [1, 1.5, 12]},
    index=['apple', 'pear', 'banana']
)

# 核心转换代码
result = df.stack().rename(lambda idx: f"{idx[0]}_{idx[1]}").to_dict()

方法2:纯Python字典推导式实现

如果你不想依赖pandas的多级索引操作,用嵌套字典推导也可以快速实现,可读性更强:

result = {f"{row_key}_{col_key}": value 
          for row_key, row_dict in df.to_dict("index").items() 
          for col_key, value in row_dict.items()}

输出验证

两种方法得到的结果完全符合需求:

print(result)
# 输出:
# {'apple_T1': 5,
#  'apple_T2': 1.0,
#  'pear_T1': 2,
#  'pear_T2': 1.5,
#  'banana_T1': 10,
#  'banana_T2': 12.0}

补充说明

如果需要调整键的拼接规则,直接修改f-string中的拼接逻辑即可,比如把下划线替换为横杠、点号等分隔符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 21:06:04