Как зациклить Pyspark DataFrame по количеству строк в DataFrame - PullRequest
0 голосов
/ 07 июня 2019

мой фрейм данных pyspark - "Значения":

+------+
|w_vote|
+------+
|   0.1|
|   0.2|
|  0.25|
|   0.3|
|  0.31|
|  0.36|
|  0.41|
|   0.5|

Я хочу выполнить цикл для каждого значения df, используя pyspark

Мой код:

out = []
for i in values.collect():
    print(i)

Что я в основном хочу сделать, это (для (я в 1: nrow (значения))

Я пытаюсь ниже код в pyspark, но это дает результат, как показано ниже

Row(w_vote=0.1)
Row(w_vote=0.2)
Row(w_vote=0.25)
Row(w_vote=0.3)
Row(w_vote=0.31)
Row(w_vote=0.36)
Row(w_vote=0.41)

Но я хочурезультат как 0,1, 0,2, 0,25 и т. д.

1 Ответ

1 голос
/ 07 июня 2019

collect возвращает объект Row, который похож на dict, за исключением того, что вы обращаетесь к элементам как к атрибутам, а не к ключам.

Соответственно, вы можете просто сделать это:

result = [row.w_vote for row in values.collect()]

Или это:

result = [row.asDict()['w_vote'] for row in values.collect()]

В виде for петли:

result = []

for row in values.collect():
    result.append(row.w_vote)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...