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

PySpark技术实现:将JSON类型数据转换为表格形式

PySpark DataFrame 行转列实现方案

假设你的输入DataFrame结构是包含id、category、value三列(每行对应一个id的某个分类值),要转换为以id为唯一标识、各类别作为列的宽表,可以用PySpark的groupBy+pivot组合快速实现:

步骤1:导入必要函数

from pyspark.sql import functions as F

步骤2:执行行转列操作

假设你的原始DataFrame变量名为df,执行以下代码:

# 按id分组,将category的不同取值转为列,取对应value值
result_df = df.groupBy("id").pivot("category").agg(F.first("value"))

关键逻辑说明:

  • groupBy("id"):确保每个id最终对应结果表的一行
  • pivot("category"):自动把category列里的所有唯一值转换成新的列名
  • agg(F.first("value")):提取每个分组下对应类别的value值,如果你的数据里id+category是唯一组合,用F.first()、F.max()、F.min()效果一致

可选:处理空值

如果某些id没有对应类别的值,结果会出现空值,可按需填充:

# 将空值填充为0,也可以换成其他默认值
result_df = result_df.fillna(0)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 13:15:59