НачатьНачать бесплатно

Порядковое кодирование категориального столбца

Вменение категориальных значений включает несколько дополнительных шагов по сравнению с вменением числовых. Сначала необходимо преобразовать категориальные значения в числовые, поскольку статистические операции не применяются к строкам.

Вы будете работать с набором данных профилей пользователей, в котором зафиксированы предпочтения и выборы клиентов ресторана. Набор содержит только категориальные признаки. В этом упражнении вы преобразуете категориальный столбец 'ambience' в числовой с помощью OrdinalEncoder из библиотеки sklearn. DataFrame уже загружен под именем users, а функция OrdinalEncoder() также доступна.

Начало и конец DataFrame users выведены для вас.

Это упражнение является частью курса

Работа с пропущенными данными в Python

Посмотреть курс

Инструкции к упражнению

  • Создайте объект порядкового кодировщика и присвойте его переменной ambience_ord_enc.
  • Выберите непропущенные значения столбца 'ambience' в DataFrame users.
  • Измените форму ambience_not_null до (-1, 1).
  • Замените непропущенные значения столбца ambience их закодированными значениями.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Set col_name to 'ambience'
col_name = 'ambience'
# Create Ordinal encoder
ambience_ord_enc = ___

# Select non-null values of ambience column in users
ambience = users[col_name]
ambience_not_null = ___

# Reshape ambience_not_null to shape (-1, 1)
reshaped_vals = ___

# Select the non-null values for the column col_name in users and store the encoded values
encoded_vals = ambience_ord_enc.fit_transform(reshaped_vals)
users.loc[___, col_name] = np.squeeze(encoded_vals)
Редактировать и запускать код