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

如何将嵌套字典列表转为DataFrame?pd.json_normalize无法正常工作

解决方案

首先得调整原始数据的结构,把每个字典里的水果名称提取出来作为单独字段,再和对应的units、price配对,之后就能顺利转成目标DataFrame了。

直接用列表推导式快速处理数据:

import pandas as pd

data = [{'apple': {'units': 3, 'price': 4}}, 
       {'banana': {'units': 20, 'price': 2}},
       {'orange': {'units': 15, 'price': 5}}]

# 重构数据结构
processed_data = [
    {'fruit': fruit_name, **details}
    for item in data
    for fruit_name, details in item.items()
]

# 转换为DataFrame
df = pd.DataFrame(processed_data)
print(df)

运行后会得到你要的结果:

fruit  units  price
0   apple      3      4
1  banana     20      2
2  orange     15      5

为啥pd.json_normalize没达到预期?

pd.json_normalize默认会把每个字典的键当作列名,但你的数据里每个元素的键都是不同的水果名,所以生成的DataFrame会有apple、banana、orange三列,每列对应一个嵌套字典,其他行的这些列自然就都是NaN了,完全不符合你要的结构。先把数据重构为统一字段的格式,就能轻松生成符合要求的DataFrame。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 03:40:29