Порядковое кодирование категориального столбца
Вменение категориальных значений включает несколько дополнительных шагов по сравнению с вменением числовых. Сначала необходимо преобразовать категориальные значения в числовые, поскольку статистические операции не применяются к строкам.
Вы будете работать с набором данных профилей пользователей, в котором зафиксированы предпочтения и выборы клиентов ресторана. Набор содержит только категориальные признаки. В этом упражнении вы преобразуете категориальный столбец 'ambience' в числовой с помощью OrdinalEncoder из библиотеки sklearn. DataFrame уже загружен под именем users, а функция OrdinalEncoder() также доступна.
Начало и конец DataFrame users выведены для вас.
Это упражнение является частью курса
Работа с пропущенными данными в Python
Инструкции к упражнению
- Создайте объект порядкового кодировщика и присвойте его переменной
ambience_ord_enc. - Выберите непропущенные значения столбца
'ambience'в DataFrameusers. - Измените форму
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)