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

如何调整DataFrame大小以处理列中嵌套字典提取的多值?

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

针对从GitHub API获取数据后,json.normalize无法处理单元格内包含多个字典的情况,可通过以下步骤调整DataFrame结构:

核心步骤

  • 使用explode将包含多字典的列表列拆分为每行一个字典
  • 用json_normalize展开拆分后的字典为独立列
  • 合并原DataFrame的其他字段与展开后的列

代码示例

假设你的DataFrame名为df,存在嵌套多字典的列是collaborators:

import pandas as pd
from pandas import json_normalize

# 拆分多字典列表为单行单字典
exploded_df = df.explode('collaborators', ignore_index=True)

# 展开字典为独立列
normalized_data = json_normalize(exploded_df['collaborators'])

# 合并原数据与展开后的列
final_df = pd.concat([exploded_df.drop('collaborators', axis=1), normalized_data], axis=1)

说明

  • explode('collaborators')会将每个列表中的字典单独生成一行,同时复制该行其他字段的内容
  • json_normalize负责将单个字典的键转换为列名,对应值填充到单元格中
  • 最终得到的final_df会将原嵌套的多字典数据完全展平,符合你期望的结构

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 21:55:15