В pyspark я хочу передать столбец значений dataframe функции и манипулировать, скажем, 5-м значением в этих столбцах данных. - PullRequest
0 голосов
/ 14 февраля 2020

Я использую pySpark V2 в кластере EMR на AWS и пытаюсь передать столбец данных в функцию и манипулировать отдельными элементами в столбце

Допустим, у меня есть следующее set up:

mylist = [x for x in range(0, 10)]
df=spark.createDataFrame(mylist,IntegerType())
df.show()

+-----+
|value|
+-----+
|    0|
|    1|
|    2|
|    3|
|    4|
|    5|
|    6|
|    7|
|    8|
|    9|
+-----+

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

например

myfunc(df.value)

def myfunc(df_col):
#
#   In psuedocode:
#   x = value in row 5 of the data
#   if x = whatever:
#       do something with x
#

Может кто-нибудь мне помочь. Просто, кажется, преодолел умственный барьер с этим

1 Ответ

0 голосов
/ 14 февраля 2020

Спасибо за предоставленную ссылку. это было полезно. Вот один из возможных ответов

from pyspark.sql.types import *
mylist = [x for x in range(0, 10)]
df=spark.createDataFrame(mylist,IntegerType())
df.show()
rn=df.collect()[4]
x=rn.value
if(x == 4):
  print("fifth row value = ", str(x))
+-----+
|value|
+-----+
|    0|
|    1|
|    2|
|    3|
|    4|
|    5|
|    6|
|    7|
|    8|
|    9|
+-----+

fifth row value =  4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...