Zacznij terazZacznij za darmo

Kodowanie porządkowe DataFrame

Cechy kategoryczne można zakodować na dwa sposoby: za pomocą kodowania one-hot oraz kodowania porządkowego. W kodowaniu one-hot każda kategoria staje się osobną kolumną – wartość 1 oznacza przynależność wiersza do danej kategorii, a 0 w pozostałych kolumnach. W kodowaniu porządkowym kategorie są mapowane na wartości całkowite, zaczynając od 0 aż do liczby kategorii.

W tym ćwiczeniu przejdziesz pętlą po wszystkich kolumnach w DataFrame users, aby zakodować kategorie porządkowo. Dla każdej kolumny zapiszesz też enkoder w słowniku ordinal_enc_dict, dzięki czemu zakodowane kolumny będzie można przekształcić z powrotem do oryginalnych kategorii.

To ćwiczenie jest częścią kursu

Braki danych w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zdefiniuj pusty słownik ordinal_enc_dict.
  • Utwórz obiekt Ordinal Encoder dla każdej kolumny.
  • Wybierz niepuste wartości danej kolumny w users i zakoduj je.
  • Przypisz zakodowane wartości z powrotem do niepustych wartości każdej kolumny (col_name) w users.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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)
Edytuj i uruchom kod