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

如何使用Python将存储字典的DataFrame列转换为键为列名的结构化表格

实现方案

首先确认records列的元素为Python字典类型,若为字符串格式的字典,需先做类型转换:

import ast
# 将字符串格式的字典转为实际字典对象
df['records'] = df['records'].apply(ast.literal_eval)

方法1:直接转列表生成新DataFrame(适合平级字典场景)

代码最简单,处理普通平级字典效率最高:

import pandas as pd

# 展开records列为独立字段
expanded_cols = pd.DataFrame(df['records'].tolist(), index=df.index)
# 若需要保留原表除records外的其他字段,执行合并,不需要可直接使用expanded_cols作为结果
final_df = pd.concat([df.drop('records', axis=1), expanded_cols], axis=1)

方法2:使用json_normalize展开(兼容性更强)

如果字典存在嵌套键、部分行缺键的场景,用该方法更稳妥,会自动处理异常场景:

# 展开records列,自动拆分嵌套键、给缺键的行填充NaN
expanded_cols = pd.json_normalize(df['records']).set_index(df.index)
# 合并原表其他字段
final_df = pd.concat([df.drop('records', axis=1), expanded_cols], axis=1)

执行后生成的final_df就会自动将原字典的所有键作为列名,对应值填充到对应单元格,符合结构化二维表格的要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 05:54:02