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

Я новичок в Data Science и работаю над простым самостоятельным проектом с использованием Google Colab. Я взял данные из файла something.csv, и столбцы файла зашифрованы с помощью ####, поэтому я не знаю имен столбцов. Я взял

Вот моя попытка решить эту проблему с помощью pyspark

df = spark.read.csv('something.csv', header=True)
col = df[df.columns[len(df.columns)-1]] #Taking last column of data-frame

Теперь я хочу перебрать строки столбца 'col' и распечатать строки, число которых меньше 100. Я искал другие сообщения от stackoverflow, но не понимал, как перебирать столбец без имени.

1 Ответ

1 голос
/ 02 мая 2020

В pyspark используйте метод .filter на кадре данных для фильтрации записей <100. </p>

#sample data po column is int
df.show()
#+---+----+---+
#| id|name| po|
#+---+----+---+
#|  1|   2|300|
#|  2|   1| 50|
#+---+----+---+

last_col = df[df.columns[len(df.columns)-1]]

from pyspark.sql.functions import *

df.filter(last_col < 100).show()
#+---+----+---+
#| id|name| po|
#+---+----+---+
#|  2|   1| 50|
#+---+----+---+

UPDATE:

#getting rows into list
lst=df.filter(last_col < 100).select(last_col).rdd.flatMap(lambda x:x)
lst.collect()
#[50]

to get all rows into list
lst=df.filter(last_col < 100).rdd.flatMap(lambda x:x)
lst.collect()
#[u'2', u'1', 50]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...