0
次のコードは、データフレームを完全な形式で設定しますが、列に「正しく」名前を付ける必要があります。get_dummiesの代わりにSpark Pivotを使用する
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あなたのコードが動作します(あなたがAを追加する必要があるものの、 ")"、最後の行に0123。 「カテゴリ」部分をプログラムで追加できる必要があるため、私は自分の質問を編集するつもりだと言いました。 –