Začněte nyníZačněte zdarma

Ordinální kódování DataFrame

Kategorické příznaky lze kódovat dvěma způsoby: one-hot kódováním a ordinálním kódováním. Při one-hot kódování se každá kategorie stane sloupcem a příslušný sloupec kategorie daného řádku nabývá hodnoty 1, ostatní 0. Při ordinálním kódování se kategorie mapují na celočíselné hodnoty od 0 po počet kategorií.

V tomto cvičení budeš procházet všechny sloupce DataFrame users a ordinálně zakódovat jejich kategorie. Encoder pro každý sloupec uložíš do slovníku ordinal_enc_dict, aby bylo možné zakódované sloupce převést zpět na původní kategorie.

Toto cvičení je součástí kurzu

Dealing with Missing Data in Python

Zobrazit kurz

Pokyny k cvičení

  • Definuj prázdný slovník ordinal_enc_dict.
  • Pro každý sloupec vytvoř objekt Ordinal Encoderu.
  • Vyber nenulové hodnoty sloupce v users a zakóduj je.
  • Přiřaď zakódované hodnoty zpět nenulových hodnotám každého sloupce (col_name) v users.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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)
Upravit a spustit kód