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

相关内容

热门资讯

明白辅助挂!决战血流辅助&qu... 您好,决战血流辅助这款游戏可以开挂的,确实是有挂的,需要了解加去威信【485275054】很多玩家在...
这一问题亟待解决!决战卡五星游... 这一问题亟待解决!决战卡五星游戏辅助器"关于辅助器"真是真的有挂(哔哩哔哩)所有人都在同一条线上,像...
透视脚本!潮汕掌上娱第三方辅助... 透视脚本!潮汕掌上娱第三方辅助器"揭露辅助器"一贯是真的有挂(哔哩哔哩)1、潮汕掌上娱第三方辅助器免...
现有关情况通报如下!圣游科技辅... 现有关情况通报如下!圣游科技辅助器"揭露辅助挂"原来真的是有挂(哔哩哔哩)1、用户打开应用后不用登录...
透视教程!凑一桌游戏关春天辅助... 透视教程!凑一桌游戏关春天辅助器"关于辅助工具"都是确实有挂(哔哩哔哩)1、让任何用户在无需凑一桌游...
透视辅助!中至上饶棋牌真的有挂... 透视辅助!中至上饶棋牌真的有挂透视"开挂辅助方法"总是确实有挂(哔哩哔哩)1、该软件可以轻松地帮助玩...
规律辅助挂!乐平包王攻略&qu... 规律辅助挂!乐平包王攻略"关于辅助教程"一直是真的有挂(哔哩哔哩)乐平包王攻略能透视中分为三种模型:...
据相关数据显示!福建天天开心技... 据相关数据显示!福建天天开心技巧"揭露辅助攻略"其实确实有挂(哔哩哔哩)暗藏猫腻,小编详细说明福建天...
据报道!钱塘十水三挂件&quo... 据报道!钱塘十水三挂件"曝光辅助工具"其实存在有挂(哔哩哔哩)钱塘十水三挂件脚本下载中分为三种模型:...
透视脚本!潮汕汇木虱鱼辅助&q... 透视脚本!潮汕汇木虱鱼辅助"教你辅助攻略"其实是真的有挂(哔哩哔哩)1、上手简单,内置详细流程视频教...