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

如何将包含州名与州缩写的DataFrame转换为指定格式的单一字典?

解决方案:直接将DataFrame转换为目标字典

刚好碰到过类似的情况,给你几个简单直接的解决办法:

方法一:利用索引+列直接转换

这是最简洁的pandas原生方法,设置缩写列为索引后,直接提取州名列并转换为字典:

x = dic.set_index('Abbreviation')['State'].to_dict()

这样得到的结果就是{'AL': 'Alabama', 'AK': 'Alaska', 'AZ': 'Arizona', ...},完全符合你的需求。

方法二:用Python内置的zip函数

如果不想操作DataFrame的索引,也可以用基础的Python方法,把两列的值配对后转成字典:

x = dict(zip(dic['Abbreviation'], dic['State']))

这个方法逻辑更直观,把缩写列和州名列的元素一一对应,直接构建字典。

为什么你之前的方法得到的是列表?

你之前用dic.set_index('Abbreviation').T.to_dict('records')时,转置(.T)后的DataFrame是一行数据,to_dict('records')的作用是把每一行转换成一个字典,然后把所有行的字典放到列表里,所以最终得到的是包含单个字典的列表。而我们只需要那一个字典,所以直接提取对应列转字典就好啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 17:34:04