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

使用Pandas json_normalize展开JSON列时如何保留id de transação列

用json_normalize展开JSON列并保留关联ID列的解决方案

你需要展开DataFrame中的dados JSON列,同时保留id de transação列用于后续合并,但之前使用meta参数的方式有误——meta参数适用于处理嵌套数组时提取外层元数据,而你的场景是每个JSON对象与一个ID一一对应,以下是两种可行的解决方法:

方法1:基于原DataFrame合并(更直观)

先单独展开dados列,再将id de transação列与展开后的结果横向合并:

import pandas as pd

# 展开dados列
df_dados = pd.json_normalize(df['dados'])
# 合并id列和展开后的结果
df_resultado = pd.concat([df['id de transação'], df_dados], axis=1)

方法2:调整输入数据结构适配json_normalize

将每个ID与对应的JSON对象打包成新的字典列表,再直接用json_normalize处理:

import pandas as pd

# 构造包含id和对应dados的字典列表
data_ajustada = [
    {'id de transação': id_t, **dado} 
    for id_t, dado in zip(data['id de transação'], data['dados'])
]
# 直接解析调整后的数据
df_dados_normalized = pd.json_normalize(data_ajustada)

最终期望输出

两种方法都会得到如下结果:

id de transação        data           local   valor
0                 1  2024-01-01       São Paulo  100.50
1                 2  2024-01-02  Rio de Janeiro  200.75
2                 3  2024-01-03  Belo Horizonte  300.00
3                 4  2024-01-04        Curitiba  400.25
4                 5  2024-01-05    Porto Alegre  500.50

内容的提问来源于stack exchange,提问作者FábioRB

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 13:25:52