這樣做有可能嗎?我的數據框中的所有數據(大約1000列)都是雙倍數據,我是否可以將一行數據轉換爲雙精度列表?將一行轉換爲火花scala中的列表
1
A
回答
2
您可以在一行中使用toSeq
方法,然後從Seq[Any]
的類型轉換爲Seq[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
然後用map
與模式匹配的String轉換到雙:
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)
1
如果你有一個dataframe
與doubles
要轉換成的doubles
List
,那麼就轉換dataframe
爲rdd
,這將給你RDD[Row]
你可以隱蔽的這List
爲
dataframe.rdd.map(_.toSeq.toList)
您將得到list of doubles
相關問題
- 1. 如何將行轉換爲火花數據幀中的列,scala
- 2. 將數據轉換爲火花scala中的類對象列表
- 3. 替換火花scala中的元素
- 4. 有一個環形的Apache火花Scala的隱式轉換
- 5. 將列表或RDD的列表轉換爲Spark-Scala中的DataFrame
- 6. 將Scala列表轉換爲DataFrame或DataSet
- 7. 將scala列表轉換爲<repeated...>
- 8. 將Scala中的列表轉換爲Python列表或數據框
- 9. 將列表轉換爲行
- 10. 轉換火花數據幀列
- 11. 如何將矩陣轉換爲火花中的RDD [矢量]
- 12. 將行轉換爲列 - 一個表
- 13. 將行轉換爲sql表中的列
- 14. 將行錶轉換爲mysql中的列
- 15. 將Scala列表轉換爲其他類型的列表
- 16. 迭代火花的Scala
- 17. 火花Scala的理解reduceByKey(_ + _)
- 18. scala 2.10.4到2.11的火花
- 19. 將列表轉換爲一個列表
- 20. 將Scala列表[列表[Double]]轉換爲Java double [] []
- 21. 播放不會將java列表轉換爲scala列表
- 22. C#將列轉換爲列表中的一行
- 23. 將pyspark分組的數據對象轉換爲火花Dataframe
- 24. 如何使用火花將一個scala列表持久化到mongodb
- 25. flex多列火花列表
- 26. 將列添加到火花數據集並轉換數據
- 27. Scala火花矩陣操作
- 28. Spark Scala - 將一個記錄和一列的Dataframe轉換爲Double
- 29. 用scala寫火花sql中的UDF
- 30. 火花scala中的java.lang.NumberFormatException錯誤
對不起,它看起來像我的數據框有所有的數字,但字符串格式...有沒有辦法做到這一點?謝謝! –
您可以使用'map'和模式匹配進行一些類型轉換,請參閱更新。 – Psidom