Scala Aggregate Projection

时间:2014-07-05 18:58:43

标签: scala aggregate-functions

如何投影/转换以下内容

List(("A", 1.0), ("A", 3.0), ("B", 2.0), ("B", 2.0))

List(("A", 4.0),("B", 4.0))

所以我按字符串聚合并将双打相加?

1 个答案:

答案 0 :(得分:3)

val x = List(("A", 1.0), ("A", 3.0), ("B", 2.0), ("B", 2.0))
val y = x.groupBy(_._1).map { case (a,bs) => a -> bs.map(_._2).sum }
y.toList  // List((A,4.0), (B,4.0))