Data Science Academy · Урок

Восстановление значений с помощью среднего, медианы или моды

Разумное заполнение с учётом типа столбца

Урок 3 из 413 шагов

«Восстановление значений с помощью среднего, медианы или моды» — бесплатный урок 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 — локальная установка не требуется.

Все уроки этого курса

  1. Поиск скрытых NaNs в таблице
  2. Удалить или заполнить: делаем правильный выбор
  3. Восстановление значений с помощью среднего, медианы или моды
  4. Исправление dtypes и удаление повторяющихся строк
← Назад к Data Science Academy