ПочатиПочніть безкоштовно

Порядкове кодування DataFrame

Категоріальні ознаки можна кодувати двома способами: one-hot кодуванням і порядковим (ordinal) кодуванням. За one-hot кодування кожна категорія стає окремим стовпцем, і для кожного рядка в стовпці відповідної категорії стоїть 1, а в інших — 0. За порядкового кодування категорії відображаються на цілі числа, починаючи з 0 до кількості категорій.

У цій вправі ви пройдетеся циклом по всіх стовпцях датафрейму users, щоб порядково закодувати категорії. Ви також збережете кодувальник для кожного стовпця у словнику ordinal_enc_dict, щоб у разі потреби перетворити закодовані значення назад на початкові категорії.

Ця вправа є частиною курсу

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

Переглянути курс

Інструкції до вправи

  • Створіть порожній словник ordinal_enc_dict.
  • Створіть об'єкт Ordinal Encoder для кожного стовпця.
  • Виберіть ненульові значення стовпця в users і закодуйте їх.
  • Запишіть закодовані значення назад у ненульові елементи кожного стовпця (col_name) у users.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Create an empty dictionary ordinal_enc_dict
ordinal_enc_dict = ___

for col_name in users:
    # Create Ordinal encoder for col
    ordinal_enc_dict[col_name] = ___
    col = users[col_name]
    
    # Select non-null values of col
    col_not_null = ___
    reshaped_vals = col_not_null.values.reshape(-1, 1)
    encoded_vals = ordinal_enc_dict[col_name].fit_transform(reshaped_vals)
    
    # Select the non-null values for the column col_name in users and store the encoded values
    users.loc[___, ___] = np.squeeze(encoded_vals)
Редагувати та запускати код