为了账号安全,请及时绑定邮箱和手机立即绑定

Spark Scala:如何将Dataframe [vector]转换为DataFrame [f1

Spark Scala:如何将Dataframe [vector]转换为DataFrame [f1

莫回无 2019-10-12 13:47:08
我只是使用Standard Scaler来标准化ML应用程序的功能。选择缩放的特征后,我想将其转换回Doubles的数据帧,尽管矢量的长度是任意的。我知道如何通过使用特定的3个功能来做到这一点myDF.map{case Row(v: Vector) => (v(0), v(1), v(2))}.toDF("f1", "f2", "f3")但不适用于任意数量的功能。是否有捷径可寻?例:val testDF = sc.parallelize(List(Vectors.dense(5D, 6D, 7D), Vectors.dense(8D, 9D, 10D), Vectors.dense(11D, 12D, 13D))).map(Tuple1(_)).toDF("scaledFeatures")val myColumnNames = List("f1", "f2", "f3")// val finalDF = DataFrame[f1: Double, f2: Double, f3: Double] 编辑我发现了在创建数据框时如何解压缩到列名的方法,但是仍然无法将向量转换为创建数据框所需的序列:finalDF = testDF.map{case Row(v: Vector) => v.toArray.toSeq /* <= this errors */}.toDF(List("f1", "f2", "f3"): _*)
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 2226 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信