【问题标题】:Create a Breeze DenseMatrix from a List of double arrays in scala从 Scala 中的双数组列表创建 Breeze DenseMatrix
【发布时间】:2018-06-18 09:24:29
【问题描述】:

我有一个结构 List[Array[Double]],我想转换为 DenseMatrix。我有这个解决方案,但我认为可能有更好的方法:

val data = List[Array[Double]]
val rows = data.length;
val cols = data(0).length;
val matrix = DenseMatrix.zeros[Double](rows, cols)
for (i <- 0 until data.length) {
  for (j <- 0 until data(i).length) {
    matrix(i,j)= data(i)(j)

  }
}

我浏览了 Breeze 文档,但没有找到任何东西。有没有更好的办法?

【问题讨论】:

    标签: scala scala-breeze


    【解决方案1】:

    你可以试试这个:

    val matrix = DenseMatrix(data:_*)
    

    EDIT1

    要了解它的工作原理,您可以将data: _* 视为对变量参数的扩展。例如,如果

    val data = List[Array[Double]](Array(1.0, 1.0), Array(2.0, 2.0))
    

    那么DenseMatrix(data:_*)就等于说DenseMatrix(Array(1.0, 1.0), Array(2.0, 2.0))

    更多详情:

    【讨论】:

    • 它有效。我只是不明白 (data:_*) 的含义
    • @MLeiria 更新帖子并附上解释。
    猜你喜欢
    • 2014-06-05
    • 1970-01-01
    • 1970-01-01
    • 2014-02-12
    • 2016-04-18
    • 2018-06-20
    • 1970-01-01
    • 1970-01-01
    • 2021-12-17
    相关资源
    最近更新 更多