gpt4 book ai didi

scala - 将行转换为 spark scala 中的列表

转载 作者:行者123 更新时间:2023-12-02 09:18:44 25 4
gpt4 key购买 nike

这有可能吗?我的数据框中的所有数据(~1000 列)都是 double ,我想知道是否可以将一行数据转换为 double 列表?

最佳答案

您可以在 Row 上使用 toSeq 方法,然后将类型从 Seq[Any] 转换为 Seq[Double](如果您确定所有列的数据类型都是 Double):

val df = Seq((1.0,2.0),(2.1,2.2)).toDF("A", "B")
// df: org.apache.spark.sql.DataFrame = [A: double, B: double]

df.show
+---+---+
| A| B|
+---+---+
|1.0|2.0|
|2.1|2.2|
+---+---+

df.first.toSeq.asInstanceOf[Seq[Double]]
// res1: Seq[Double] = WrappedArray(1.0, 2.0)

如果您有字符串类型的列,请使用 toSeq,然后使用带有模式匹配的 mapString 转换为 Double :

val df = Seq((1.0,"2.0"),(2.1,"2.2")).toDF("A", "B")
// df: org.apache.spark.sql.DataFrame = [A: double, B: string]

df.first.toSeq.map{
case x: String => x.toDouble
case x: Double => x
}
// res3: Seq[Double] = ArrayBuffer(1.0, 2.0)

关于scala - 将行转换为 spark scala 中的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44531937/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com