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

如何使用PySpark将嵌套字典转换为多列DataFrame

嵌套字典DataFrame展开方法

假设你已经将JSON文件转换为包含data列的原始DataFrame(每一行data是嵌套字典结构),可以通过以下步骤将其转换为目标多列结构:

步骤1:预处理(若需)

如果data列的元素是字符串格式的字典(而非Python原生字典),先将其转换为字典:

import pandas as pd
import ast

# 假设原始DataFrame名为df
df['data'] = df['data'].apply(ast.literal_eval)

步骤2:展开顶层字典

把data列中的顶层字典展开为单独列,得到包含GUID和terms的中间DataFrame:

df_expanded = pd.DataFrame(df['data'].tolist())

步骤3:扁平化嵌套的terms字典

对terms列的嵌套字典进行扁平化处理,同时为生成的列名添加terms_前缀:

# 使用json_normalize扁平化嵌套字典,下划线分隔层级
df_terms_flat = pd.json_normalize(df_expanded['terms'], sep='_').add_prefix('terms_')

步骤4:合并最终结果

将GUID列与扁平化后的terms数据合并,得到目标结构:

final_df = pd.concat([df_expanded['GUID'], df_terms_flat], axis=1)

执行完成后,final_df的结构就与你期望的一致,列名会按照terms_层级1_层级2的规则自动生成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 20:35:04