按照id分组并根据优先级创建列(Pyspark)
创始人
2024-08-24 06:00:41
0

可以使用groupby和pivot方法来解决此问题。首先,我们需要使用groupby方法按照id列分组。然后,我们可以使用pivot方法并指定“priority”列来创建新列。最后,我们需要使用fillna方法来使用默认值填充缺失的单元格。

以下是用于解决此问题的示例代码:

from pyspark.sql.functions import *
from pyspark.sql import SparkSession

# 创建Spark会话
spark = SparkSession.builder.appName("groupby_pivot_demo").getOrCreate()
spark.conf.set("spark.sql.shuffle.partitions", "5")

# 创建示例数据
data = [("id1", "A", 1),
       ("id1", "B", 2),
       ("id1", "C", 3),
       ("id2", "A", 2),
       ("id2", "B", 1),
       ("id3", "A", 3)]

df = spark.createDataFrame(data, ["id", "priority", "value"])

# 按照id分组并创建新列
df_grouped = df.groupBy("id").pivot("priority").agg(first(col("value")))

# 填充缺失单元格
df_grouped = df_grouped.fillna(0)

df_grouped.show()

输出结果:

+---+---+---+---+
| id|  A|  B|  C|
+---+---+---+---+
|id2|  2|  1|  0|
|id1|  1|  2|  3|
|id3|  3|  0|  0|
+---+---+---+---+

相关内容

热门资讯

透视神器!pokerworld... 透视神器!pokerworld修改器(透视)最初真的是有挂(详细辅助解密教程);小薇(透视辅助)致您...
透视智能ai(wepokE)w... 透视智能ai(wepokE)wepoke辅助挂在哪开(透视)详细辅助玩家教你是由北京得wepoke辅...
透视软件!红龙poker作弊指... 透视软件!红龙poker作弊指令(透视)详细辅助规律教程(一贯真的有挂);红龙poker作弊指令是一...
透视智能ai(wEPoke)w... 1、透视智能ai(wEPoke)wpk机器人软件(透视)详细辅助2025新版教程。2、wpk机器人软...
透视免费!哈糖大菠萝免费辅助器... 透视免费!哈糖大菠萝免费辅助器(透视)起初有挂(详细辅助细节方法);支持多人共享记分板与复盘,通过邀...
透视透视!wpk透视脚本下载(... 透视透视!wpk透视脚本下载(透视)详细辅助wpk教程(一直有挂)1、金币登录送、破产送、升级送、活...
透视玄学(wepOkE)微扑克... 自定义微扑克算正规平台吗系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器,不...
透视好牌!hhpoker到底可... 1、透视好牌!hhpoker到底可以作弊吗(透视)真是真的有挂(详细辅助透牌教程)。2、hhpoke...
透视app!aapoker透视... 透视app!aapoker透视脚本下载(透视)详细辅助规律教程(一直是真的有挂);1、让任何用户在无...
透视透视!aapoker能控制... 此外,数据分析德州(aapoker能控制牌吗)辅助神器app还具备辅助透视行为开挂功能,通过对客户a...