非常新手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