按照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|
+---+---+---+---+

相关内容

热门资讯

出乎意料的是!wepoker辅... 出乎意料的是!wepoker辅助器官方,微乐自建房提升运势,详细透视(有挂秘笈)-哔哩哔哩1、wep...
透视总结!德普之星私人局辅助免... 透视总结!德普之星私人局辅助免费,德普之星透视(透视)果然真的有器(哔哩哔哩)1、很好的工具软件,可...
透视方案!aapoker辅助器... 透视方案!aapoker辅助器怎么用,AApoker发牌逻辑一直有下载,3分钟教程(真实有挂)1、进...
透视透视!wepoker辅助软... 透视透视!wepoker辅助软件价格,小程序微乐辅助器2.0,推荐透视(有挂细节)-哔哩哔哩1、进入...
透视必备!wpk辅助,wpk有... 透视必备!wpk辅助,wpk有那种辅助吗(透视)确实真的是有脚本(哔哩哔哩)1、下载好正确养号方法之...
透视指南!哈糖大菠萝破解器,W... 透视指南!哈糖大菠萝破解器,WePoKer购买都是有透视,第六分钟教程(确实有挂)1、让任何用户在无...
透视脚本!wepoker轻量版... 透视脚本!wepoker轻量版辅助,微乐游戏竞技团辅助,分享脚本(有挂工具)-哔哩哔哩1、点击下载安...
透视了解!we-poker正规... 透视了解!we-poker正规吗,wepoker线上大神(透视)都是真的是有软件(哔哩哔哩)1、不需...
透视阶段!德普之星透视软件免费... 透视阶段!德普之星透视软件免费入口官网,德普之星下载总是真的有神器,第9分钟教程(有挂神器)1、下载...
透视app!竞技联盟辅助插件,... 您好,竞技联盟辅助插件这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩...