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

如何用字典推导式将DataFrame转换为指定格式的字典?

解决方法

你的问题出在df.to_dict()的用法上——它默认会把列名作为字典的键,而不是你需要的country列的值,所以方向完全错了。

正确的字典推导式应该直接遍历DataFrame的行,以country的值为键,处理后的city列表为值:

result = {row['country']: [city.strip() for city in row['city'].split(',')] for _, row in df.iterrows()}

代码说明:

  • df.iterrows():遍历DataFrame的每一行,_用来忽略行索引,row是包含当前行数据的Series对象
  • row['country']:取当前行的国家名称作为字典的键
  • row['city'].split(','):把城市字符串按逗号分割成列表,比如"Sao Paulo, Rio de Janeiro"会变成["Sao Paulo", " Rio de Janeiro"]
  • city.strip():去掉每个城市名称前后的空格,避免出现带空格的元素
  • 整个内层列表推导式会生成符合要求的城市列表,不管是单个还是多个城市

运行后得到的结果就是你需要的格式:

{'Argentina': ['Buenos Aires'], 'Bangladesh': ['Dhaka'], 'Brasil': ['Sao Paulo', 'Rio de Janeiro']}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 07:40:22