簡體   English   中英

我們如何從數據幀在 Scala 中創建嵌套數組?

[英]How can we create nested arrays in scala from a dataframe?

我有一個包含三列的 DataFrame; 如何將其轉換為 Scala 中的嵌套數組 - Array[Array[Double]]

當我嘗試映射時Array[(Double, Double)]我收到Array[(Double, Double)]

val x= dataframe.select("time","sex")
  .collect()
  .map(x=>x(0).toString.toDouble ,x(1).toString.toDouble)

那是因為您的地圖正在返回一個元組。 由於您需要一個數組,因此您需要返回一個數組,如下所示。

val df = dataframe.collect().map(x => Array(x.getDouble(0), x.getDouble(1)))

要訪問結果中的第一項(嵌套數組),請使用df.headdf(0)

編輯:

以柱狀方式 Array[Array[Double]] 擁有數據集,其中每一列都有自己的數組。

df.foldLeft((Array[Double](),Array[Double]())) {
  case ((col1,col2),(x,y)) => (col1 :+ x) -> (col2 :+ y)
} match {
    case (arr1,arr2) => Array(arr1,arr2)
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM