Самый загруженный день выдачи книг

тема: Временные ряды и окна · уровень: средний

Условие

Библиотека хранит сведения о книгах отдельно от журнала выдач. В файле data.csv каждой книге соответствует жанр, а в файле issues.csv записаны события выдачи книг читателям.

Требуется рассмотреть выдачи книг заданного жанра за указанный период и определить день с наибольшим числом таких выдач. Дата выдачи получается из первых десяти символов значения времени issued_at.

Для каждой даты d из заданного периода вычисляется количество C(d) = число строк issues.csv, для которых дата issued_at равна d и жанр соответствующей книги равен заданному жанру. Нужно вывести дату, для которой значение C(d) максимально. Если наибольшее число выдач достигается в несколько дней, выводится наиболее ранняя дата. Если за период нет ни одной выдачи книг заданного жанра, выводится NONE.

Выводится дата в формате YYYY-MM-DD без округления. Округление чисел не применяется.

Формат ввода

Рядом с программой находятся два CSV-файла в кодировке UTF-8 с разделителем запятая.

Файл data.csv содержит от 300 до 2000 строк с данными о книгах, не считая заголовка. Столбцы файла:

Файл issues.csv содержит от 1 до 2000 строк с событиями выдачи, не считая заголовка. Столбцы файла:

В стандартный ввод подаются три строки:

Границы периода включаются в рассмотрение.

Формат вывода

Выведите одну дату в формате YYYY-MM-DD — самый загруженный день выдачи книг заданного жанра. Если подходящих выдач нет, выведите NONE.

Ограничения

Решить задачу с автопроверкой на Python →

Куда дальше