Изменчивость показателей шахматных команд

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

Условие

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

Для выбранного показателя рассматриваются строки, у которых номер тура не превосходит заданного значения, а идентификатор партии не превосходит заданного ограничения. Пустое значение выбранного показателя не учитывается.

Для каждой команды, у которой после фильтрации осталась хотя бы одна строка с числовым значением, требуется вычислить коэффициент вариации. Если значения команды равны \(x_1, x_2, \ldots, x_m\), то \(\mu = \frac{x_1 + x_2 + \ldots + x_m}{m}\), \(\sigma = \sqrt{\frac{(x_1-\mu)^2 + (x_2-\mu)^2 + \ldots + (x_m-\mu)^2}{m}}\), а коэффициент вариации равен \(CV = \frac{\sigma}{\mu}\). Используется генеральное стандартное отклонение, то есть деление выполняется на \(m\), а не на \(m-1\).

Все числовые значения показателей положительны, поэтому деления на ноль не возникает. Команды без подходящих числовых значений исключаются из сравнения. Гарантируется, что после фильтрации существует хотя бы одна подходящая команда.

Если наибольший коэффициент вариации достигается у нескольких команд, выводится лексикографически меньшее название команды.

Округление не применяется, так как выводится название команды.

Формат ввода

Файл data.csv расположен рядом с программой, имеет кодировку UTF-8 и разделитель запятая. Первая строка файла содержит заголовок. В файле имеются столбцы:

В единственной строке стандартного ввода через пробел записаны metric r limit:

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

Выведите название команды с наибольшим коэффициентом вариации выбранного показателя.

Ограничения

В файле от 300 до 4000 строк данных.

1 ≤ match_id ≤ 4000.

Длина названия команды составляет от 4 до 20 символов латиницы.

1 ≤ round ≤ 20.

1 ≤ board ≤ 20.

Если значение move_time_sec не пропущено, то 10 ≤ move_time_sec ≤ 300.

Если значение errors не пропущено, то 1 ≤ errors ≤ 30.

1 ≤ r ≤ 20.

1 ≤ limit ≤ 4000.

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

Куда дальше