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

如何简便将嵌套字典中result的JSON字符串转为Pandas DataFrame?

快速将嵌套JSON结构转为Pandas DataFrame

解决方案

你的需求可以通过两步直接完成,无需手动合并字典:

  1. 把result字段中的JSON字符串解析为Python字典
  2. 直接将解析后的字典传入pd.DataFrame(),Pandas会自动识别列与行的对应关系

完整代码示例

import json
import pandas as pd

# 原始数据字典
raw_data = {'result': '{"maid":{"0":"0365206d-e97d-4ab0-aa63-64091e66a1a4","1":"0955bbcc-3a83-4c64-8170-f5deb799a5ba","2":"0570ba29-1ee8-4bc6-a12c-c2b706d805c8"},"category":{"0":"EventHall","1":"SuperMarket","2":"Bank"},"geo_behavior":{"0":null,"1":null,"2":null},"polygonid":{"0":2332,"1":2332,"2":2332},"places":{"0":"Shri Sai Dj","1":"D Mart","2":"Bank of Baroda"},"age":{"0":38.0,"1":18.0,"2":37.0},"gender":{"0":0.0,"1":0.0,"2":0.0},"mobile":{"0":null,"1":null,"2":null},"make":{"0":"oppo","1":"vivo","2":"oneplus"},"deviceprice":{"0":160.0,"1":190.0,"2":392.0},"weight":{"0":2.5684166749,"1":2.0,"2":2.0},"__index_level_0__":{"0":0,"1":1,"2":2}}'}

# 解析JSON字符串为字典
parsed_dict = json.loads(raw_data['result'])

# 直接生成DataFrame
df = pd.DataFrame(parsed_dict)

# 可选:移除自动生成的索引列(如果不需要)
df = df.drop(columns=['__index_level_0__'])

方法说明

你解析后的字典结构是列名: {行索引: 对应值},这完全匹配Pandas DataFrame的构造规则——传入该结构的字典时,Pandas会自动把外层键作为列名,内层键作为行索引,直接生成规整表格。

之前用pd.json_normalize或pd.DataFrame.from_records未达预期,是因为这两个方法更适合处理行优先的嵌套数组或深层嵌套结构,而你的数据是列优先的键值对,直接用pd.DataFrame()是最直接的方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 06:35:06