Как создать фрейм данных pyspark из нескольких списков - PullRequest
0 голосов
/ 12 октября 2018

Я хотел бы преобразовать два списка в фрейм данных pyspark, где списки являются соответствующими столбцами.

Я пытался

a=[1, 2, 3, 4]
b=[2, 3, 4, 5]
sqlContext.createDataFrame([a, b], schema=['a', 'b']).show()

Но я получил

+---+---+---+---+                                                               
|  a|  b| _3| _4|
+---+---+---+---+
|  1|  2|  3|  4|
|  2|  3|  4|  5|
+---+---+---+---+

Что мне действительно нужно, так это:

+---+---+                                                              
|  a|  b|
+---+---+
|  1|  2|
|  2|  3|
|  3|  4|
|  4|  5|
+---+---+

Есть ли удобный способ создать этот результат?

Ответы [ 2 ]

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

Я не знаю напрямую о pyspark, но я бы предположил, вместо этой структуры данных:

[[1, 2, 3, 4],
 [2, 3, 4, 5]]

вам нужно дать это

[[1, 2],
 [2, 3],
 [3, 4],
 [4, 5]]

Пояснительный способперейти от вашей структуры данных к тому, что требуется, это использовать numpy для транспонирования:

import numpy as np
a=[1, 2, 3, 4]
b=[2, 3, 4, 5]
sqlContext.createDataFrame((np.array([a, b])).T, schema=['a', 'b']).show()
0 голосов
/ 12 октября 2018

Просто перенесите списки:

sqlContext.createDataFrame(zip(a, b), schema=['a', 'b']).show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...