Codificação ordinal de uma coluna categórica
A imputação de valores categóricos envolve algumas etapas extras em relação à imputação de valores numéricos. Primeiro, é preciso convertê-los em valores numéricos, pois operações estatísticas não podem ser feitas em strings.
Você usará o conjunto de dados de perfil de usuários, que contém preferências e escolhas de clientes registradas por um restaurante. Ele contém apenas variáveis categóricas. Neste exercício, você vai converter a coluna categórica 'ambience' em numérica usando OrdinalEncoder do sklearn. O DataFrame já foi carregado como users. A função OrdinalEncoder() também foi carregada.
Os métodos head() e tail() do DataFrame users foram exibidos para você.
Este exercício faz parte do curso
Lidando com Dados Ausentes em Python
Instruções do exercício
- Crie o objeto de codificador ordinal e atribua a
ambience_ord_enc. - Selecione os valores não ausentes da coluna
'ambience'emusers. - Remodele
ambience_not_nullpara o formato(-1, 1). - Substitua os valores não ausentes de
ambiencepor seus valores codificados.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Set col_name to 'ambience'
col_name = 'ambience'
# Create Ordinal encoder
ambience_ord_enc = ___
# Select non-null values of ambience column in users
ambience = users[col_name]
ambience_not_null = ___
# Reshape ambience_not_null to shape (-1, 1)
reshaped_vals = ___
# Select the non-null values for the column col_name in users and store the encoded values
encoded_vals = ambience_ord_enc.fit_transform(reshaped_vals)
users.loc[___, col_name] = np.squeeze(encoded_vals)