11.3. Nan

Cards (11)

  • Получить сумму пропусков
    df.isnull().sum()
  • Начинаем с признаков, где нет данных
    всего нескольких строк. Либо удаляем их, либо заменяем нулями или средними значениями, зависит от предметной области
  • Приблизить график, сделать масштаб с процентом меньше 1
    plt.ylim(0,1)
  • Для найденной строки посмотреть колонку
    df[df['Electrical'].isnull()]['Garage Area']
  • Если в колонках Electrical и Garage Area встретились NaN, мы удаляем их. В примере удаляется две строки

    df = df.dropna(axis=0, subset=['Electrical', 'Garage Area'])
  • Подход для колонок
    Заполнить колонки некоторыми значениями или удалить колонки
  • Удаление колонок

    Не нужно беспокоиться, и это очень просто. Но может потеряться признак с важными данными. Имеет смысл, когда много строк NaN
  • Заполнение значением

    Меняем истинность данных, сами выбираем значение, которое должны записать, нужно будет трансформировать все будущие данные
  • Простой случай заполнения значением

    NaN -> нули, если по факту неопределённые значения это нулевые значения
  • Сложный случай
    Применяем статистические методы с использованием других колонок, чтобы заполнить NaN
  • Статистический метод заполнения

    Если не указан возраст, можем использовать информацию о работе или образовании (если человек учится в колледже, ему вполне может быть 20). Но какая вероятность?