Не удается разрешить символ / в Scala
Привет, я пытаюсь найти средние оценки из списка оценок.
val normalizedRatings = user_ratings.groupBy(a=>a._1).map{r=> (r._1,r._2.toList.map(x=>x._2))}
Вот как выглядит мой нормализованный рейтинг.
(zZRze7w4iWJrj5XR_MVg0w, Список (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 ответ
Мне не совсем понятно, какой тип normalizedRatings
есть (похоже на некоторые Iterable
или же IndexedSeq
коллекция (String, List[Double])
, Вы можете попробовать...
val usrAvgRating = normalizedRatings map { case (id, ratings) => (id, ratings.sum / ratings.length) }
... если вы можете предоставить точные подписи типа, если будет более полезным. Обратите внимание, что вы звоните toInt
на String
в какой-то момент, который, вероятно, является источником ошибки.