Kom igångKom igång gratis

Ordinal kodning av en DataFrame

Kategoriska särdrag kan kodas med två tekniker: one-hot-kodning och ordinal kodning. Vid one-hot-kodning blir varje kategori en egen kolumn, där värdet är 1 för den aktuella kategorin och 0 för övriga. Vid ordinal kodning mappas kategorierna till heltalsvärden som börjar på 0 och går upp till antalet kategorier.

I den här övningen loopar du igenom alla kolumner i users-DataFrame:n för att ordinalt koda kategorierna. Du lagrar också en kodare för varje kolumn i en ordbok, ordinal_enc_dict, så att de kodade kolumnerna kan konverteras tillbaka till de ursprungliga kategorierna.

Den här övningen är en del av kursen

Hantera saknade värden i Python

Visa kurs

Övningsinstruktioner

  • Definiera en tom ordbok ordinal_enc_dict.
  • Skapa ett Ordinal Encoder-objekt för varje kolumn.
  • Välj icke-null-värden för kolumnen i users och koda dem.
  • Tilldela tillbaka de kodade värdena till icke-null-värdena för varje kolumn (col_name) i users.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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)
Redigera och kör kod