无法解析符号/在scala中

时间:2017-03-26 00:40:34

标签: scala list average division

您好我正在尝试查找评分列表的平均评分。

 val normalizedRatings = user_ratings.groupBy(a=>a._1).map{r=> (r._1,r._2.toList.map(x=>x._2))}

以下是我的normalizedRatings的样子。

(zZRze7w4iWJrj5XR_MVg0w,List(2.0,4.0,5.0)) ...

当我尝试运行程序时,'/'符号会抛出错误。

val userAvgRating = normalizedRatings.map(x=>(x._1.toInt, x._2.sum/x._2.length))

我尝试使用toFloat

 val userAvgRating = normalizedRatings.map(x=>(x._1.toInt, x._2.sum.toFloat/x._2.length))

我遇到了类似的错误

Error:(26, 68) could not find implicit value for parameter num: Numeric[String]
    val userAvgRating = normalizedRatings.map(x=>(x._1.toInt, x._2.sum.toFloat/x._2.length))

任何指导都将不胜感激。

1 个答案:

答案 0 :(得分:1)

我不清楚normalizedRatings的确切类型是什么(看起来像Iterable的某些IndexedSeq(String, List[Double])集合。您可能会尝试...... < / p>

val usrAvgRating = normalizedRatings map { case (id, ratings) => (id, ratings.sum / ratings.length) } 

...如果你能提供确切的类型签名,那将更有帮助。请注意,您在某个时间点toInt呼叫String,这可能是错误的来源。