EmpezarEmpieza gratis

Extraer texto para crear nuevas características

Los garajes son un factor importante para las casas en Minnesota, donde la mayoría de la gente tiene coche y es un fastidio quitar la nieve de un coche aparcado en la calle. El tipo de garaje también importa: ¿puedes acceder al coche sin pasar frío o no? Vamos a crear una característica has_attached_garage que indique si el garaje está adosado a la casa o no.

Este ejercicio forma parte del curso

Ingeniería de características con PySpark

Ver curso

Instrucciones del ejercicio

  • Importa la función necesaria when() desde pyspark.sql.functions.
  • Crea una condición de coincidencia de cadena usando like() para buscar el patrón de texto Attached Garage en df['GARAGEDESCRIPTION'] y usa comodines % para que coincida en cualquier parte del campo.
  • De forma similar, crea otra condición usando like() para encontrar el patrón Detached Garage en df['GARAGEDESCRIPTION'] y usa comodines % para que coincida en cualquier parte del campo.
  • Crea una nueva columna has_attached_garage usando when() para asignar el valor 1 si tiene garaje adosado, 0 si es independiente y usa otherwise() para asignar null con None si no es ninguno de los dos.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# Import needed functions
____ ____ ____ ____

# Create boolean conditions for string matches
has_attached_garage = df[____].____(____)
has_detached_garage = df[____].____(____)

# Conditional value assignment 
df = df.withColumn(____, (____(____, 1)
                                          .____(____, 0)
                                          .____(____)))

# Inspect results
df[['GARAGEDESCRIPTION', 'has_attached_garage']].show(truncate=100)
Editar y ejecutar código