EmpezarEmpieza gratis

Codificación ordinal de una columna categórica

Imputar valores categóricos requiere algunos pasos adicionales respecto a imputar valores numéricos. Primero hay que convertirlos a valores numéricos, ya que no se pueden realizar operaciones estadísticas sobre cadenas.

Usarás el conjunto de datos de perfiles de usuarios, que contiene preferencias y elecciones de clientes registradas por un restaurante. Solo incluye variables categóricas. En este ejercicio, convertirás la columna categórica 'ambience' en numérica usando OrdinalEncoder de sklearn. El DataFrame se ha cargado como users. La función OrdinalEncoder() también se ha importado.

Se han impreso para ti los head() y tail() del DataFrame users.

Este ejercicio forma parte del curso

Cómo tratar datos faltantes en Python

Ver curso

Instrucciones del ejercicio

  • Crea el objeto de codificación ordinal y asígnalo a ambience_ord_enc.
  • Selecciona los valores no faltantes de la columna 'ambience' en users.
  • Cambia la forma de ambience_not_null a (-1, 1).
  • Sustituye los valores no faltantes de ambience por sus valores codificados.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# 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)
Editar y ejecutar código