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

如何使用pandas将嵌套字典结构的数据转换为标准DataFrame格式

嵌套字典转DataFrame解决方案

直接调用pd.DataFrame(data)不符合预期的原因是:该方法无法自动展开多层嵌套的字典结构,会将嵌套字典整体作为单个列的取值存储。

你可以使用pandas内置的json_normalize()方法完成转换,该方法专门用于处理嵌套格式的字典/JSON数据,会自动将所有层级的字段展开为二维表格的独立列。

完整实现代码

import pandas as pd

# 你的嵌套字典数据
data = {'id': 255719,
 'display_name': 'Off Broadway Apartments',
 'access_right': {'status': 'OWNED', 'api_enabled': True},
 'creation_time': '2021-04-26T15:53:29+00:00',
 'status': {'value': 'OFFLINE', 'last_change': '2021-07-10T17:26:50+00:00'},
 'licence': {'id': 74213,
  'code': '23AF-15A8-0514-2E4B-04DE-5C19-A574-B20B',
  'bound_mac_address': '00:11:32:C2:FE:6A',
  'activation_time': '2021-04-26T15:53:29+00:00',
  'type': 'SUBSCRIPTION'},
 'timezone': 'America/Chicago',
 'version': {'agent': '3.7.0-b001', 'package': '2.5.1-0022'},
 'location': {'latitude': '41.4126', 'longitude': '-99.6345'}}

# 展开嵌套结构生成DataFrame
df = pd.json_normalize(data)

可选调整

默认生成的列名会使用父键.子键的格式命名(例如access_right.status、licence.id),如果需要自定义分隔符,可以添加sep参数指定,比如用下划线分隔:

df = pd.json_normalize(data, sep='_')

转换后得到的DataFrame为1行16列的二维结构,所有字段均为标量值,无嵌套结构,可直接用于后续数据处理。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 03:36:02