Конвертировать массив строк в массив строк в pyspark - PullRequest
0 голосов
/ 19 февраля 2019

У меня есть фрейм данных с 2 столбцами, и я получил массив ниже, выполнив df.collect () .

array = [Row(name=u'Alice', age=10), Row(name=u'Bob', age=15)]

Теперь я хочу получить выходной массив, как показано ниже.

new_array = ['Alice', 'Bob']

Может кто-нибудь, пожалуйста, дайте мне знать, как извлечь выше вывод, используя pyspark.Любая помощь будет оценена.

Спасибо

Ответы [ 2 ]

0 голосов
/ 19 февраля 2019
# Creating the base dataframe.
values = [('Alice',10),('Bob',15)]
df = sqlContext.createDataFrame(values,['name','age'])
df.show()
    +-----+---+
    | name|age|
    +-----+---+
    |Alice| 10|
    |  Bob| 15|
    +-----+---+

df.collect()
    [Row(name='Alice', age=10), Row(name='Bob', age=15)]

# Use list comprehensions to create a list.
new_list = [row.name for row in df.collect()]
print(new_list)
    ['Alice', 'Bob']
0 голосов
/ 19 февраля 2019

Я вижу два столбца имя и возраст в DF.Теперь вы хотите, чтобы отображался только столбец name.

Вы можете выбрать его следующим образом:

df.select("name").show()

Это покажет вам только имена.

Совет: Кроме того, вы df.show() вместо df.collect().Это покажет вам в табличной форме вместо строки (...)

...