Пропуски в таблице: обнаружение, dropna, fillna и nullable dtype
Содержание курса
Пропуски в журнале датчиков: isna, dropna, fillna и ffill за один проход
Что уже дано
Проверяющая система запускает вашу программу и подаёт данные через stdin. Никаких заранее созданных переменных нет — вы читаете всё сами.
Что нужно сделать
Напишите программу, которая обрабатывает журнал показаний датчика:
- Читает из
stdinцелое числоn— количество строк журнала. - Читает следующие
nстрок; каждая содержит два токена через пробел:hour(целое число от 0 до 23) иvalue(вещественное число или строкаnan). Создаётpd.DataFrameс именемdfсо столбцами'hour'(dtypeint64) и'value'(dtypefloat64). - Шаг A. Выводит одну строку:
missing=<k>, гдеk— число пропущенных значений в столбце'value'(черезdf['value'].isna().sum()). - Шаг B. Удаляет строки, где
'value'пропущен, черезdf.dropna(subset=['value']). Сохраняет результат вdf_clean. Выводит одну строку:clean_shape=<shape>, напримерclean_shape=(4, 2). - Шаг C. Заполняет пропуски в
df['value']константой0.0черезfillna. Сохраняет результат вs_filled. Выводит значенияs_filledчерез пробел, округлив до одного знака. - Шаг D. Заполняет пропуски в
df['value']методомffill(). Сохраняет результат вs_ffill. Выводит значенияs_ffillчерез пробел, округлив до одного знака. Если первый элемент оказался пропуском иffillне смог его заполнить — выводитnanдля этой позиции.
Во всех шагах исходный df не изменяется.
Ввод и вывод
Программа читает stdin и пишет в stdout.
Формат ввода
n hour0 value0 hour1 value1 ...
Токен nan в поле value означает пропуск.
Дополнительные ограничения: n >= 1; таблица содержит явно описанные в условии столбцы.
Формат вывода
Ровно четыре строки в порядке A → B → C → D.
О данных в ответах
Используйте учебные данные. Не вставляйте пароли, токены, ключи доступа, паспортные и банковские данные, а также персональные данные других людей. Политика обработки данных.
- Тест 1Ввод
6 0 10.0 1 nan 2 nan 3 25.0 4 nan 5 30.0
Ожидаемый выводmissing=3 clean_shape=(3, 2) 10.0 0.0 0.0 25.0 0.0 30.0 10.0 10.0 10.0 25.0 25.0 30.0
Как проверяется решение
Сравнение вывода: Правила исходной проверяющей системы. Интерактивный запуск не влияет на оценку. Лимит сессии — 5 минут, процессорного времени — 10 секунд.
Отправьте решение, чтобы увидеть результаты тестов.
