這樣做有可能嗎?我的數據框中的所有數據(大約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. 有一個環形的Apache火花Scala的隱式轉換
- 4. 替換火花scala中的元素
- 5. 將列表或RDD的列表轉換爲Spark-Scala中的DataFrame
- 6. 將scala列表轉換爲<repeated...>
- 7. 將Scala中的列表轉換爲Python列表或數據框
- 8. 將列表轉換爲行
- 9. 將行轉換爲列 - 一個表
- 10. 轉換火花數據幀列
- 11. 將元素對轉換爲火花中的矩陣
- 12. 如何將矩陣轉換爲火花中的RDD [矢量]
- 13. 將行錶轉換爲mysql中的列
- 14. scala 2.10.4到2.11的火花
- 15. 播放不會將java列表轉換爲scala列表
- 16. C#將列轉換爲列表中的一行
- 17. 將pyspark分組的數據對象轉換爲火花Dataframe
- 18. 如何使用火花將一個scala列表持久化到mongodb
- 19. Spark Scala - 將一個記錄和一列的Dataframe轉換爲Double
- 20. 將列添加到火花數據集並轉換數據
- 21. 將表格的單列轉換爲行
- 22. Spark SQL將Scala DataFrame轉換爲列列表
- 23. 將轉換列表轉換爲水星中的元組列表
- 24. 將Scala中的WrappedArrays列轉換爲Vector [Double]的列
- 25. 火花Scala編程爲不序列化的對象和功能
- 26. 如何將火花RDD轉換爲mahout DRM?
- 27. 將列表中的元素轉換爲一行數據
- 28. 通過使用Scala的火花第一列
- 29. Scala:將org.w3c.dom.Document轉換爲scala.xml.NodeSeq
- 30. 將Scala轉換爲Java(java.util.Set)?
對不起,它看起來像我的數據框有所有的數字,但字符串格式...有沒有辦法做到這一點?謝謝! –
您可以使用'map'和模式匹配進行一些類型轉換,請參閱更新。 – Psidom