Восстановление значений с помощью среднего, медианы или моды
Разумное заполнение с учётом типа столбца
«Восстановление значений с помощью среднего, медианы или моды» — бесплатный урок Data Science Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Data Science Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Data Science Academy содержит 4 уроков всего.
Заполнение статистическим значением
Вместо случайных чисел можно заполнить пропуски сводным значением из самого столбца. Такой аккуратный подход называется вменением. 🧮
Заполнение средним
Для числовых данных самый простой выбор — среднее, то есть среднее значение столбца. Если пропусков мало, это примерно сохраняет общий итог.
df['age'].fillna(df['age'].mean())Когда среднее вводит в заблуждение
Среднее неустойчиво: несколько очень больших значений сильно смещают его от центра. Для данных с асимметрией заполнение средним может приблизить каждый пропуск к нереалистичному числу.
Заполнение медианой
Медиана — это значение, находящееся в середине упорядоченного ряда; на крайние выбросы она почти не реагирует. Для асимметричных числовых столбцов это обычно более безопасный вариант заполнения.
df['income'].fillna(df['income'].median())Среднее или медиана?
Простое правило: выбирайте медиану, если в столбце есть выбросы или длинный хвост, а среднее — только когда значения распределены достаточно симметрично.
Мода для категорий
У текстовых и категориальных столбцов нет среднего значения. Их заполняют модой — самым частым значением, поскольку оно с наибольшей вероятностью подходит.
top = df['city'].mode()[0]
df['city'].fillna(top)Почему mode возвращает Series
Несколько значений могут иметь одинаковую наибольшую частоту, поэтому mode() возвращает Series со всеми победителями. Если нужно одно значение, выберите первое по индексу 0.
df['city'].mode()[0]Заполнение с учётом типа столбца
Лучше всего выполнять вменение с учётом типа каждого столбца: использовать медиану для асимметричных числовых данных, среднее — для симметричных, а моду — для категорий.
Заполнение вперёд и назад
Для упорядоченных данных, например временных рядов, переносите последнее известное значение вперёд с помощью ffill или подставляйте следующее значение назад с помощью bfill.
df['temp'].ffill()Скрытая цена
Каждое вменение уменьшает естественный разброс столбца, потому что заполненные значения скапливаются в одной точке. Учитывайте это: дисперсия может немного уменьшиться.
Отмечайте заполненные значения
Полезная привычка: добавляйте логический столбец, отмечающий строки, в которых выполнялось вменение. Этот флаг позволяет последующему анализу отличать настоящие значения от предположительных.
df['age_filled'] = df['age'].isna()Быстрая проверка
Столбец доходов сильно искажён несколькими миллионерами. Какой способ вменения лучше всего подойдёт?
Итоги: разумное заполнение
Теперь вы выполняете вменение с помощью среднего, медианы или моды в зависимости от типа столбца, используете ffill для упорядоченных данных и отмечаете заполненные строки, чтобы ничего не скрывать.
Изучай Python с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 30
- Уроки
- 120
Часто задаваемые вопросы
Урок «Восстановление значений с помощью среднего, медианы или моды» бесплатный?
Да — полный текст урока «Восстановление значений с помощью среднего, медианы или моды» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Data Science Academy, подпишись на CoddyKit PRO. Курс Data Science Academy содержит 4 уроков всего.
Чему я научусь в уроке «Восстановление значений с помощью среднего, медианы или моды»?
Разумное заполнение с учётом типа столбца Ты практикуешь Data Science Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Data Science Academy?
Предыдущий опыт не требуется. Data Science Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Восстановление значений с помощью среднего, медианы или моды»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Data Science Academy?
Да. Каждый урок Data Science Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Поиск скрытых NaNs в таблице
- Удалить или заполнить: делаем правильный выбор
- Восстановление значений с помощью среднего, медианы или моды
- Исправление dtypes и удаление повторяющихся строк