Очистка длительностей посещений сайта
Условие
В файле data.csv хранится журнал посещений школьного сайта. Для каждого посещения указаны раздел сайта, дата и длительность в секундах. В некоторых строках длительность отсутствует.
Из стандартного ввода задаются раздел сайта и дата, по которым выбираются строки. Значение ALL во второй строке означает, что подходят посещения за все даты. Строки с пустой длительностью не участвуют в вычислениях.
Для отсортированных длительностей x[0], x[1], ..., x[m-1] определяются квартиль Q1 = x[floor((m-1)/4)] и квартиль Q3 = x[floor(3(m-1)/4)]. Межквартильный размах равен IQR = Q3 - Q1. Выбросом считается длительность v, для которой v < Q1 - 1.5 * IQR или v > Q3 + 1.5 * IQR.
Требуется вывести число отброшенных выбросов и среднюю длительность остальных выбранных посещений. При равенстве длительности с границей допустимого интервала она не считается выбросом. Ограничения гарантируют, что после удаления строк с пропусками остаётся хотя бы одно посещение, а после удаления выбросов остаётся хотя бы одно посещение.
Формат ввода
В первой строке дано название раздела сайта: news, library, clubs или schedule.
Во второй строке дана дата формата YYYY-MM-DD либо строка ALL.
Файл data.csv находится рядом с программой, имеет кодировку UTF-8 и разделитель запятая. Первая строка файла содержит заголовки:
visit_id,visitor_id,page_section,visit_date,visit_duration_sec
Поле visit_duration_sec содержит целое число секунд или пустую строку.
Формат вывода
Выведите через пробел два числа: количество отброшенных выбросов и среднюю длительность оставшихся посещений.
Среднюю длительность выведите ровно с двумя знаками после десятичной точки.
Ограничения
В файле от 300 до 4000 строк с данными.
visit_id — целое число от 1 до 4000.
visitor_id — целое число от 10000 до 99999.
Длина page_section — от 4 до 8 символов.
visit_date имеет длину 10 символов и формат YYYY-MM-DD.
Непустая visit_duration_sec — целое число от 1 до 2000.
Для указанного сочетания раздела и даты, с учётом значения ALL, имеется от 1 до 4000 строк с непустой длительностью.
Решить задачу с автопроверкой на Python →
Куда дальше
- Python на олимпиадах — где языка хватает с запасом, а где начинают значить лимиты — с замерами
- БВИ по олимпиадам: в какие вузы берут — правила приёма вузов, разобранные построчно, со ссылкой на приказ у каждой строки
- Перечневые олимпиады: что это и что дают — весь перечень Минобрнауки: уровни, срок диплома, разрезы по предметам и классам