ComeçarComece de graça

Codificação ordinal de um DataFrame

Recursos categóricos podem ser codificados usando duas técnicas: one-hot encoding e codificação ordinal. No one-hot encoding, cada categoria vira uma coluna e, para cada linha, a coluna da categoria correspondente vale 1 e as demais valem 0. Na codificação ordinal, as categorias são mapeadas para valores inteiros que vão de 0 até o número de categorias.

Neste exercício, você vai iterar por todas as colunas do DataFrame users para codificar ordinalmente as categorias. Você também vai armazenar um codificador para cada coluna em um dicionário ordinal_enc_dict para que as colunas codificadas possam ser convertidas de volta para as categorias originais.

Este exercício faz parte do curso

Lidando com Dados Ausentes em Python

Ver curso

Instruções do exercício

  • Defina um dicionário vazio ordinal_enc_dict.
  • Crie um objeto Ordinal Encoder para cada coluna.
  • Selecione os valores não nulos da coluna em users e codifique-os.
  • Atribua de volta os valores codificados às posições não nulas de cada coluna (col_name) em users.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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)
Editar e executar o código