按照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、起透看视 微信小程...
长期以来!兴动互娱脚本免费最新... 长期以来!兴动互娱脚本免费最新版本!一贯真的有辅助修改器(有挂辅助)-哔哩哔哩暗藏猫腻,小编详细说明...
相较于以往!皇豪互众智能辅助器... 相较于以往!皇豪互众智能辅助器破解!本来存在有辅助下载(有挂秘笈)-哔哩哔哩1、皇豪互众智能辅助器破...
随着!微乐小程序辅助教程!真是... 您好,微乐小程序辅助教程这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多...
近日!约战沙城脚本!总是是有辅... 近日!约战沙城脚本!总是是有辅助平台(有挂分享)-哔哩哔哩1、约战沙城脚本公共底牌简单,约战沙城脚本...
这一现象值得深思!哈糖大菠萝辅... 这一现象值得深思!哈糖大菠萝辅助!好像是有辅助器(真是有挂)-哔哩哔哩1、哈糖大菠萝辅助辅助软件下载...
近期!方片十三张源码!总是是有... 近期!方片十三张源码!总是是有辅助安装(有挂讲解)-哔哩哔哩1、用户打开应用后不用登录就可以直接使用...
今年以来!胡乐辅助脚本的详细步... 今年以来!胡乐辅助脚本的详细步骤!本来是真的辅助插件(有挂分享)-哔哩哔哩1、上手简单,内置详细流程...
现有说明如下!微信小程序欢乐辅... 现有说明如下!微信小程序欢乐辅助器免费下载!其实真的是有辅助修改器(有挂方式)-哔哩哔哩微信小程序欢...
日前!闲来辅助神器免费版在哪下... 日前!闲来辅助神器免费版在哪下载!切实真的是有辅助脚本(有人有挂)-哔哩哔哩1)闲来辅助神器免费版在...