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

如何将DataFrame中嵌套字典的genres列拆分为独立DataFrame

拆分DataFrame中的genres列为独立的(id, name) DataFrame

你的explode()只是把genres列里的字典列表拆成了每行一个字典,但还没把字典里的id和name提取成独立列。按下面的步骤就能得到目标结果:

  1. 先拆分列表到单行单个字典
genres_exploded = df['genres'].explode()

这一步会把每个列表里的字典单独占一行,但此时genres列的元素还是完整的字典。

  1. 将字典列转换为包含id和name的DataFrame
import pandas as pd

genres_df = pd.DataFrame(genres_exploded.tolist())

tolist()会把字典列转换成字典列表,再用pd.DataFrame直接解析成两列的结构。

  1. (可选)关联原DataFrame的其他字段
    如果需要保留原数据的其他列(比如标题、ID等),可以把原表去掉genres列后和新生成的genres_df合并:
final_df = df.drop('genres', axis=1).join(genres_df)

示例说明

假设原DataFrame结构如下:

indextitlegenres
0头号玩家[{"id":28,"name":"动作"}, {"id":12,"name":"冒险"}, {"id":878,"name":"科幻"}]
1肖申克的救赎[{"id":18,"name":"剧情"}]

执行上述代码后,final_df的结构就是:

indextitleidname
0头号玩家28动作
0头号玩家12冒险
0头号玩家878科幻
1肖申克的救赎18剧情

特殊情况处理

如果genres列存在空列表或None值,拆分后会出现空行,可在第一步后加上dropna()过滤:

genres_exploded = df['genres'].explode().dropna()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 20:20:24