karelpeeters
07/09/2017, 1:55 PMfun <K,T> Collection<T>.averageBy(keySelector: (T) -> K, numSelector: (T) -> Double) = groupBy(keySelector).entries.asSequence().map { it.key to it.value.asSequence().map(numSelector(it).toDouble()).average()}.toMap()
(I'm on mobile so I may have butchered the syntax a bit)