PySpark: сводить столбец в один ряд - PullRequest
0 голосов
/ 15 октября 2018

Я пытаюсь развернуть простой фрейм данных в pyspark, и я должен что-то упустить.У меня есть датафрейм df в виде:

+----+----+
|Item| Key|
+----+----+
|   1|   A|
+----+----+
|   2|   A|
+----+----+

Я пытаюсь повернуть его на элементе, например

df.groupBy("Item").\
        pivot("Item", ["1","2"]).\
        agg(first("Key"))

, и я получаю:

+----+----+----+
|Item|   1|   2|
+----+----+----+
|   1|   A|null|
+----+----+----+
|   2|null|   A|
+----+----+----+

Но то, что я хочу, это:

+----+----+
|   1|   2|
+----+----+
|   A|   A|
+----+----+

Как сохранить столбец Item от сохранения в моей выходной сводной таблице, которая, как я предполагаю, портит мой результат?Я использую Spark 2.3.2 и Python 3.7.0

1 Ответ

0 голосов
/ 15 октября 2018

Попробуйте без определения совокупного столбца

>>> df.show()
+----+---+
|Item|Key|
+----+---+
|   1|  A|
|   2|  A|
+----+---+

>>> df.groupBy().pivot("Item", ["1","2"]).agg(first("Key")).show()
+---+---+
|  1|  2|
+---+---+
|  A|  A|
+---+---+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...