在 pyspark 中,我想将值的数据帧列传递给函数并在该数据列中操作说,第 5 个值
Posted
技术标签:
【中文标题】在 pyspark 中,我想将值的数据帧列传递给函数并在该数据列中操作说,第 5 个值【英文标题】:In pyspark I want to pass a dataframe column of values to a function and manipulate say, t the 5th value, in that columns of data 【发布时间】:2020-02-14 11:38:09 【问题描述】:我在 AWS 上的 EMR 集群上使用 pySpark V2,我正在尝试将数据框列传递给函数并操作列中的各个项目
假设我有以下设置:
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
#
谁能帮帮我。只是似乎遇到了心理障碍
【问题讨论】:
可能会有所帮助:***.com/questions/35243744/… 【参考方案1】:感谢您提供的链接。这很有帮助。这是一个可能的答案
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
【讨论】:
以上是关于在 pyspark 中,我想将值的数据帧列传递给函数并在该数据列中操作说,第 5 个值的主要内容,如果未能解决你的问题,请参考以下文章