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

如何在Pandas中从JSON DataFrame提取指定字段?

解决嵌套字典列的展开问题

方法1:一步到位读取并解析

别先读成只有data列的DataFrame,直接用pd.json_normalize搞定嵌套结构:

import pandas as pd

# 读取原始JSON后直接解析data字段里的嵌套数据
df = pd.json_normalize(pd.read_json("./data/data.json")['data'])

这样出来的DataFrame直接把id、timestamp这些字段当成列,不用再折腾。

方法2:处理已读入的DataFrame

如果已经拿到了只有data列的DataFrame,用下面两种方式展开:

  • 方式A:用apply(pd.Series)拆字典列
# 把data列里的每个字典转成单独的列
expanded_df = df['data'].apply(pd.Series)

要是原DataFrame还有其他列,就把它们合并起来:

# 合并原表(去掉data列)和展开后的表
final_df = pd.concat([df.drop('data', axis=1), expanded_df], axis=1)
  • 方式B:用pd.json_normalize处理现有data列
    和方法1同理,直接解析data列里的字典:
expanded_df = pd.json_normalize(df['data'])
final_df = pd.concat([df.drop('data', axis=1), expanded_df], axis=1)

额外提示

  • 要是字典里还有更深的嵌套层级,pd.json_normalize支持record_path和meta参数精准解析,比apply(pd.Series)更可靠。
  • 数据量较大时,pd.json_normalize的性能更好,优先用这个方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 19:57:41