0
以下代码以完美的格式设置数据框,但我需要让它“正确”命名列。使用Spark Pivot获得get_dummies替换
df = spark.createDataFrame([
(0, "X", "a"),
(1, "Z", "b"),
(2, "X", "b"),
(3, "X", "c"),
(4, "Y", "c"),
(5, "Y", "a")
], ["id","category", "other_thing"])
pivotDF = df.groupBy("id").pivot("category").count()
pivotDF.show()
+---+----+----+----+
| id| X| Y| Z|
+---+----+----+----+
| 0| 1|null|null|
| 5|null| 1|null|
| 1|null|null| 1|
| 3| 1|null|null|
| 2| 1|null|null|
| 4|null| 1|null|
+---+----+----+----+
我需要这个作为输出:
+---+-------------+-------------+-------------+
| id| category_X| category_Y| category_Z|
+---+-------------+-------------+-------------+
| 0| 1 | null| null|
| 5|null | 1| null|
| 1|null | null| 1|
| 3| 1 | null| null|
| 2| 1 | null| null|
| 4|null | 1| null|
+---+-------------+-------------+-------------+
如何添加列名编程方式(即我没有在这种情况下手动键入“类别”
THX @LostInOverflow你的代码工作(尽管你需要添加一个 “)” 到最后一行0123。 这就是说我要编辑我的问题,因为我需要能够以编程方式添加“类别”部分。 –