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

如何将含拼接列表的DataFrame转换为字典?

将DataFrame转换为指定列的键值对字典

情况1:B列是原生Python列表

如果你的DataFrame里B列的元素本身就是Python列表(不是带引号的字符串),用两种简单方法就能转字典:

import pandas as pd

# 构造示例数据
df = pd.DataFrame({
    'A': ['Cow', 'Monkey'],
    'B': [['Sheep','Pig','Bear'], ['Frog','Toad','Bird']]
})

# 方法1:用pandas内置的to_dict
result = df.set_index('A')['B'].to_dict()

# 方法2:用Python内置的zip
result = dict(zip(df['A'], df['B']))

# 输出结果:{'Cow': ['Sheep', 'Pig', 'Bear'], 'Monkey': ['Frog', 'Toad', 'Bird']}

情况2:B列是字符串格式的列表

从你给出的表格看,B列更像是带方括号和引号的字符串(比如"["Sheep","Pig","Bear"]"),这种情况需要先把字符串解析成真正的列表,再转字典:

import pandas as pd
import ast

# 构造示例数据(B列为字符串)
df = pd.DataFrame({
    'A': ['Cow', 'Monkey'],
    'B': ['["Sheep","Pig","Bear"]', '["Frog","Toad","Bird"]']
})

# 把字符串解析为列表
df['B'] = df['B'].apply(ast.literal_eval)

# 之后转字典的方法和情况1一致
result = dict(zip(df['A'], df['B']))
# 或者用to_dict:result = df.set_index('A')['B'].to_dict()

# 输出结果和上面一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 23:55:22