This question already has answers here:
Reshaping/Pivoting data in Spark RDD and/or Spark DataFrames
(6 个回答)
3年前关闭。
那个标题,太可怕了,对不起。这是我的意思:
这是起始数据集
然后它将变成一个具有 4 列的新数据集:
你应该有
(6 个回答)
3年前关闭。
那个标题,太可怕了,对不起。这是我的意思:
这是起始数据集
C1 C2
AA H
AB M
AC M
AA H
AA L
AC L
然后它将变成一个具有 4 列的新数据集:
C1 CH CM CL
AA 2 0 1
AB 0 1 0
AC 0 1 1
最佳答案
您可以将 pivot
api 与 groupBy
和 agg
以及其他函数一起使用,如下所示
from pyspark.sql import functions as F
finaldf = df.groupBy("C1").pivot("C2").agg(F.count("C2").alias("count")).na.fill(0)
你应该有
finaldf
作为+---+---+---+---+
| C1| H| L| M|
+---+---+---+---+
| AA| 2| 1| 0|
| AB| 0| 0| 1|
| AC| 0| 1| 1|
+---+---+---+---+
关于apache-spark - Pyspark,按列中的唯一值对另一列中的某个值进行分组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48064651/
10-13 03:28