使用 pyspark 将 Spark 数据框中的列转换为数组 [重复]
Posted
技术标签:
【中文标题】使用 pyspark 将 Spark 数据框中的列转换为数组 [重复]【英文标题】:Convert a column in Spark's dataframe into an array with pyspark [duplicate] 【发布时间】:2018-09-03 03:33:38 【问题描述】:如何将 Spark 数据框中的列从字符串转换为数组?我需要这个,因为fpgroth
算法需要一个数组来创建模型。
df = spark.read.csv('kheiro/Stage/Model/itemsets.csv')
df.show()
数据:
列的类型:
这是错误:
【问题讨论】:
我的意思是数据帧的拆分内置函数。如果您需要更多帮助,请以文本格式而不是图像格式发布文本输入数据和您尝试过的代码 请不要将您的代码发布为屏幕截图。人们可能想要复制和粘贴它(搜索引擎也很难找到您的帖子) 【参考方案1】:在 Pyspark for mllib 库中,您需要将所有特征转换为单个特征向量。你可以使用向量汇编器来做同样的事情:https://spark.apache.org/docs/latest/ml-features.html#vectorindexer
from pyspark.ml.feature import VectorAssembler
assembler = VectorAssembler(inputCols=inputColumnsList,outputCol='features')
assembler.transform(df)
inputColsList 包含的列表可以是您要转换的单列,也可以是要转换的多列
【讨论】:
那不是正确的答案。与许多其他pyspark.ml
Estimators
不同,pyspark.ml.fpm.FPGrowth
不接受 VectorUDT
输入。以上是关于使用 pyspark 将 Spark 数据框中的列转换为数组 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用pyspark将具有多个可能值的Json数组列表转换为数据框中的列
如何对 Pyspark spark.sql 数据框中的数据进行同质化
Pyspark:如何将现有非空列的元组列表作为数据框中的列值之一返回
org.apache.spark.sql.AnalysisException:给定pyspark中的输入列,无法解析'sub_tot`'