非常新手Scala程序員,所以希望這很簡單。Scala:基於鍵的數組之間的總和值
我有元組的陣列看起來像這樣:
Array((1,Array(1.0,0.0,5.2,0.0),
(1,Array(1.0,0.0,6.3,0.0),
(2,Array(0.0,1.0,0.0,1.2),
(2,Array(0.0,1.0,0.0,2.5))
我想在基於在所述第一密鑰的元組的第二部分來概括的相應值。所以,結果是這樣的:
Array((1,(2.0,0.0,11.5,0.0),
(2,(0.0,2.0,0.0,3.7))
我想出的功能是:
def sumByKeys[A](tuples: Array[(String, Array[Double])]) = {
tuples.groupBy(_._1).mapValues(_.map(_._2).sum)
}
有錯誤我得到的是
error: could not find implicit value for parameter num: Numeric[Array[Double]]
tuples.groupBy(_._1).mapValues(_.map(_._2).sum)
^
我希望這是一件簡單的我只是搞亂了數據類型。
謝謝。
爲什麼你不使用'Map'來代替? – 2014-09-26 15:56:38