ÎncepețiÎncepe gratuit

Codificarea ordinală a unui DataFrame

Caracteristicile categoriale pot fi codificate prin două tehnici: codificarea one-hot și codificarea ordinală. În codificarea one-hot, fiecare categorie devine o coloană, iar coloana categoriei respective primește valoarea 1 pentru fiecare rând, celelalte primind 0. În codificarea ordinală, categoriile sunt mapate la valori întregi, începând de la 0 până la numărul de categorii.

În acest exercițiu, vei itera peste toate coloanele din DataFrame-ul users pentru a codifica ordinal categoriile. Vei stoca, de asemenea, un encoder pentru fiecare coloană într-un dicționar ordinal_enc_dict, astfel încât coloanele codificate să poată fi reconvertite la categoriile originale.

Acest exercițiu face parte din cursul

Gestionarea datelor lipsă în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Definește un dicționar gol ordinal_enc_dict.
  • Creează un obiect Ordinal Encoder pentru fiecare coloană.
  • Selectează valorile non-nule ale coloanei din users și codifică-le.
  • Atribuie înapoi valorile codificate valorilor non-nule ale fiecărei coloane (col_name) din users.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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)
Editează și rulează codul