Z-оценка датчика после калибровки

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

Условие

В теплице показания датчиков температуры хранятся отдельно от таблицы их калибровки. В первой таблице указана измеренная температура, во второй — поправка конкретного датчика.

Для датчика с идентификатором target_id требуется найти z-оценку его скорректированного показания среди всех датчиков с известной температурой. Если измерение датчика равно NA, оно не участвует в расчётах.

Для каждого датчика с известным измерением определяется скорректированное показание x = temperature - offset. Затем вычисляются среднее μ = (x_1 + x_2 + ... + x_k) / k и генеральное стандартное отклонение σ = sqrt(((x_1 - μ)^2 + (x_2 - μ)^2 + ... + (x_k - μ)^2) / k). Искомая z-оценка равна z = (x_target - μ) / σ.

Если σ = 0, следует считать z-оценку равной 0. При равенстве скорректированных показаний нескольких датчиков все такие показания учитываются по отдельности.

Формат ввода

В первой строке даны три значения: n, m и target_id — число строк первой таблицы, число строк второй таблицы и идентификатор целевого датчика.

В следующих n строках записана первая таблица: идентификатор датчика sensor_id и его измеренная температура temperature. Вместо температуры может стоять строка NA.

В следующих m строках записана вторая таблица: идентификатор датчика sensor_id и целая поправка offset.

Идентификаторы датчиков в каждой таблице не повторяются. Наборы идентификаторов двух таблиц совпадают. Для целевого датчика температура известна.

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

Выведите z-оценку целевого датчика с двумя знаками после точки.

Ограничения

1 ≤ n, m ≤ 2000.

n = m.

Идентификатор имеет длину от 1 до 8 символов и состоит из заглавных латинских букв и цифр, первый символ — буква.

Температура, если она известна, является целым числом от -500 до 800, измеренным в десятых долях градуса Цельсия.

offset — целое число от -100 до 100, также измеренное в десятых долях градуса Цельсия.

Среди строк первой таблицы есть хотя бы одно известное измерение.

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

Куда дальше