在scala中计算每部电影的平均得分,有已知movieid和rating
时间: 2023-07-16 12:17:14 浏览: 169
computation-expressions:Scala中计算表达式的实现
假设我们有一个包含电影ID和评分的数据集,可以使用以下代码计算每部电影的平均得分:
```scala
val movieRatings = List(("movie1", 3.5), ("movie2", 4.0), ("movie1", 4.5), ("movie3", 2.0), ("movie2", 3.5))
val movieAvgRatings = movieRatings.groupBy(_._1).mapValues(list => list.map(_._2).sum / list.size.toDouble)
movieAvgRatings.foreach(println)
```
输出结果将是:
```
(movie1,4.0)
(movie2,3.75)
(movie3,2.0)
```
这里我们使用 `groupBy` 将电影ID作为键进行分组,然后使用 `mapValues` 计算每个分组中的评分平均值。最后,我们使用 `foreach` 将结果输出到控制台。
阅读全文