您好我正在尝试查找评分列表的平均评分。
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))
任何指导都将不胜感激。
答案 0 :(得分:1)
我不清楚normalizedRatings
的确切类型是什么(看起来像Iterable
的某些IndexedSeq
或(String, List[Double])
集合。您可能会尝试...... < / p>
val usrAvgRating = normalizedRatings map { case (id, ratings) => (id, ratings.sum / ratings.length) }
...如果你能提供确切的类型签名,那将更有帮助。请注意,您在某个时间点toInt
呼叫String
,这可能是错误的来源。