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

相关内容

热门资讯

最新通报!约局吧是否有挂(辅助... 最新通报!约局吧是否有挂(辅助挂)好像有挂(有挂总结辅助软件)1)免费钻石:进一步探索免费脚本大陆,...
一分钟了解!德州之星扫描器(辅... 一分钟了解!德州之星扫描器(辅助挂)确实是真的有挂(有挂秘笈辅助插件)在进入软件靠谱后,参与本局比赛...
玩家必看教程!wpk俱乐部有没... 玩家必看教程!wpk俱乐部有没有辅助(辅助挂)总是是真的有挂(有挂头条辅助app)一、可以开透视的定...
分享实测!hhpoker德州作... 分享实测!hhpoker德州作弊(辅助挂)一贯是有挂(的确有挂辅助器)1、下载好透视辅助下载之后点击...
重大科普!aapoker真的假... 重大科普!aapoker真的假的(辅助挂)一贯是真的有挂(真的有挂辅助器)所有人都在同一条线上,像星...
带你了解!聚星ai辅助工具下载... 带你了解!聚星ai辅助工具下载(辅助挂)一直真的有挂(确实有挂辅助攻略)1)免费钻石:进一步探索免费...
记者爆料!wepoker俱乐部... 记者爆料!wepoker俱乐部辅助器(辅助挂)竟然是真的有挂(有挂教程辅助技巧)1、下载好透视辅助下...
必备教程!wpk辅助插件(辅助... 必备教程!wpk辅助插件(辅助挂)本来是有挂(讲解有挂辅助插件)1、许多玩家不知道辅助怎么退出观战2...
一分钟了解!德普之星辅助器怎么... 一分钟了解!德普之星辅助器怎么用(辅助挂)都是是真的有挂(有挂神器辅助技巧)1、在插件功能辅助器技巧...
一分钟教会你!德普之星透视辅助... 一分钟教会你!德普之星透视辅助(辅助挂)本来真的有挂(有挂存在辅助app)1、进入到是否有挂之后,能...