【问题标题】:Convert a column in Spark's dataframe into an array with pyspark [duplicate]使用 pyspark 将 Spark 数据框中的列转换为数组 [重复]
【发布时间】:2018-09-03 03:33:38
【问题描述】:

如何将 Spark 数据框中的列从字符串转换为数组?我需要这个,因为fpgroth 算法需要一个数组来创建模型。

df = spark.read.csv('kheiro/Stage/Model/itemsets.csv')
df.show()

数据:

列的类型:

这是错误:

【问题讨论】:

  • 我的意思是数据帧的拆分内置函数。如果您需要更多帮助,请以文本格式而不是图像格式发布文本输入数据和您尝试过的代码
  • 请不要将您的代码发布为屏幕截图。人们可能想要复制和粘贴它(搜索引擎也很难找到您的帖子)

标签: python arrays apache-spark dataframe pyspark


【解决方案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 输入。
猜你喜欢
  • 2018-07-05
  • 1970-01-01
  • 2018-07-24
  • 1970-01-01
  • 1970-01-01
  • 2020-03-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多