我有一个关于沿矩阵行查找最大值索引的问题。我如何在Spark Scala中执行此操作?这个函数就像Python中的numpy中的argmax。
答案 0 :(得分:2)
你的矩阵是什么类型的?如果是RowMatrix
,您可以使用RDD
访问其行向量的rows
。
如果我理解正确,那么找到这个RDD[Vector]
的每个向量的最大值就很简单了。因此,您可以myMatrix.rows.map{_.toArray.max}
。
如果您有DenseMatrix
,则可以将其转换为Array
,在此阶段您将拥有row-major form中的元素列表。您还可以使用numCols
访问矩阵的列数,然后使用集合方法grouped
获取行。
myMatrix.toArray.grouped(myMatrix.numCols).map{_.max}
答案 1 :(得分:0)
我认为您必须将值作为数组获取以获得最大值。
Accelerometer