Теперь проверим не код, а понимание. Часть вопросов относится к смыслу pipeline, а часть — к результатам именно той базы, которую вы только что очистили.
Зачем в начале создавался df = df_original.copy()?
df = df_original.copy()
Сопоставьте проблему и действие из лаборатории.
Почему использовался pd.to_numeric(..., errors='coerce')?
pd.to_numeric(..., errors='coerce')
Почему дубликаты проверялись ещё раз после очистки строк?
Определите верность утверждений о вашей работе.
Следующие вопросы относятся к итогам именно этой учебной базы. Их ответы должны были появиться у вас после полного запуска notebook.
Сколько строк было в df_original до очистки?
df_original
Почему число строк уменьшилось с 304 до 301?
Обратите внимание: уменьшение числа строк само по себе не является успехом. Оно должно объясняться конкретными правилами.
Почему для заполнения costume_cost в этой лаборатории выбрана медиана, а не среднее?
costume_cost
Сколько пропусков осталось после очистки?
Что должен давать хороший audit?
audit
Восстановите логику выполненной лаборатории.
В новом датасете 40% пропусков признака приходится на один источник, а в остальных источниках пропусков почти нет. Почему опасно сразу заполнить все пропуски общей медианой?
Какое действие аналитика лучше всего проверяет, что предобработка не исказила содержательный вывод?
Предобработка не обязана уничтожить все пропуски. Она должна сделать таблицу непротиворечивее, сохранить неизвестность там, где нет оснований придумывать значение, и оставить после себя понятный след: код, инварианты и audit.