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

如何在Pandas DataFrame中将列转为字典列并实现高效向量化操作?

Pandas DataFrame列转嵌套字典列的实现方法

示例数据构造

先还原你的初始DataFrame:

import pandas as pd

df = pd.DataFrame({
    'x': [1, 4, 7],
    'y': [2, 5, 8],
    'z': [3, 6, 9]
})

核心实现方法

直接通过向量化元素转换将z列的每个值转为嵌套字典,彻底避免字符串拼接导致的类型问题:

# 对z列逐元素生成字典
df['z'] = df['z'].apply(lambda val: {'z': val})

也可以用更简洁的链式写法:

df = df.assign(z=df['z'].map(lambda val: {'z': val}))

验证结果

执行后查看DataFrame:

print(df)

输出完全符合预期:

x  y          z
0  1  2  {'z': 3}
1  4  5  {'z': 6}
2  7  8  {'z': 9}

验证列元素类型:

print(type(df.loc[0, 'z']))

返回<class 'dict'>,确认是原生字典类型而非字符串。

为什么不推荐字符串拼接?

字符串拼接生成的是带引号的字符串对象(如"{'z':3}"),后续调用时需要额外解析才能转为字典,既低效又容易出错;而直接构造字典的方式是原生Python字典类型,无需额外处理,且能利用Pandas的向量化操作保证效率。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 23:05:18