Пропуски в таблице: обнаружение, dropna, fillna и nullable dtype
Содержание курса
dropna с how и subset: диагностика формы после каждого удаления
Что уже дано
Проверяющая система запускает вашу программу и подаёт данные через stdin. Никаких заранее созданных переменных нет — вы читаете всё сами.
Что нужно сделать
Напишите программу, которая:
- Читает из
stdinцелое числоn— количество строк таблицы. - Читает следующие
nстрок; каждая содержит четыре токена через пробел:
id— целое число;region— строка илиNA(пропуск);amount— вещественное число илиNA(пропуск);tag— строка илиNA(пропуск).
- Строит
pd.DataFrameс именемdfсо столбцами'id'(int64),'region'(object),'amount'(float64),'tag'(object). ТокенNAзаменяется наNoneдля строковых столбцов и наfloat('nan')для числового. - Шаг A. Вычисляет
df.isna().sum()и выводит строку:
isna_sum=<id> <region> <amount> <tag>— четыре числа через пробел. - Шаг B. Применяет
df.dropna(how='any'). Выводитdrop_any=<shape>, напримерdrop_any=(3, 4). - Шаг C. Применяет
df.dropna(subset=['region', 'amount'], how='all'). Выводитdrop_subset_all=<shape>. - Шаг D. Применяет
df.dropna(axis=1, how='all'). Выводитdrop_cols=и следом через пробел имена оставшихся столбцов. Если удалённых столбцов нет — выводит толькоdrop_cols=и пустую строку (то естьdrop_cols=\n).
Во всех шагах исходный df не изменяется.
Ввод и вывод
Программа читает stdin и пишет в stdout.
Формат ввода
n id0 region0 amount0 tag0 id1 region1 amount1 tag1 ...
Токен NA означает пропуск в соответствующем столбце.
Дополнительные ограничения: n >= 1; таблица содержит явно описанные в условии столбцы.
Формат вывода
Ровно четыре строки в порядке A → B → C → D.
О данных в ответах
Используйте учебные данные. Не вставляйте пароли, токены, ключи доступа, паспортные и банковские данные, а также персональные данные других людей. Политика обработки данных.
- Тест 1Ввод
5 1 Север 100.0 ok 2 NA 200.0 NA 3 Юг NA NA 4 NA NA NA 5 Восток 500.0 done
Ожидаемый выводisna_sum=0 2 2 3 drop_any=(2, 4) drop_subset_all=(4, 4) drop_cols=id region amount tag
Как проверяется решение
Сравнение вывода: Правила исходной проверяющей системы. Интерактивный запуск не влияет на оценку. Лимит сессии — 5 минут, процессорного времени — 10 секунд.
Отправьте решение, чтобы увидеть результаты тестов.
