Порядкове кодування категоріального стовпця
Імпутація категоріальних значень потребує кількох додаткових кроків порівняно з числовими. Спершу потрібно перетворити їх на числові, адже статистичні операції не виконуються над рядками.
Ви працюватимете з набором даних профілів користувачів, де ресторан записував вподобання та вибір клієнтів. Він містить лише категоріальні ознаки. У цій вправі ви перетворите категоріальний стовпець 'ambience' на числовий за допомогою OrdinalEncoder зі sklearn. Датафрейм завантажено як users. Функцію OrdinalEncoder() також імпортовано.
Для вас виведено head() і tail() датафрейму users.
Ця вправа є частиною курсу
Робота з пропущеними даними в Python
Інструкції до вправи
- Створіть об'єкт порядкового кодувальника та присвойте його до
ambience_ord_enc. - Виберіть непропущені значення стовпця
'ambience'у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)