Корреляция метрик фильмов
Условие
В базе онлайн-кинотеатра для каждого фильма сохранены число просмотров в первую неделю проката и средняя длительность просмотра в минутах. Часть значений может отсутствовать и обозначается строкой NA.
Необходимо вычислить коэффициент корреляции Пирсона между числом просмотров и средней длительностью просмотра. В расчёт включаются только фильмы, у которых известны обе величины. Фильмы с одинаковыми значениями показателей учитываются по отдельности, каждый как отдельная строка.
Пусть после удаления строк с пропусками осталось k фильмов, их значения равны x_i и y_i. Обозначим их средние как x̄ и ȳ. Коэффициент корреляции Пирсона определяется формулой:
r = Σ((x_i - x̄)(y_i - ȳ)) / √(Σ(x_i - x̄)² · Σ(y_i - ȳ)²).
Если после удаления пропусков осталось меньше двух фильмов или хотя бы у одного из двух показателей нулевая дисперсия, следует считать r = 0. Выведите значение r, округлённое до трёх знаков после точки. Если число находится ровно посередине между двумя вариантами округления, выбирается вариант с большей абсолютной величиной.
Формат ввода
В первой строке задано целое число n — количество фильмов.
В следующих n строках записаны идентификатор фильма, число просмотров в первую неделю и средняя длительность просмотра в минутах. Поля разделены пробелами. Вместо любого из двух числовых показателей может стоять NA.
Формат вывода
Выведите один коэффициент корреляции Пирсона с тремя знаками после точки.
Ограничения
1 ≤ n ≤ 2000.
Длина идентификатора фильма составляет от 1 до 20 символов. Идентификатор состоит из латинских букв, цифр и символа _.
Если значение не равно NA, то число просмотров является целым числом от 0 до 1 000 000 000, а средняя длительность просмотра является целым числом от 0 до 1000.
Решить задачу с автопроверкой на Python →
Куда дальше
- Школьный этап ВсОШ по информатике — как устроен первый этап и план подготовки за четыре недели
- Python на олимпиадах — где языка хватает с запасом, а где начинают значить лимиты — с замерами
- Родителям: подготовка бесплатно — сколько стоит репетитор, что даёт бесплатный маршрут и как понять, что ребёнок занимается