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
Instrucciones del ejercicio
- Importa la función necesaria
when()desdepyspark.sql.functions. - Crea una condición de coincidencia de cadena usando
like()para buscar el patrón de textoAttached Garageendf['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ónDetached Garageendf['GARAGEDESCRIPTION']y usa comodines%para que coincida en cualquier parte del campo. - Crea una nueva columna
has_attached_garageusandowhen()para asignar el valor 1 si tiene garaje adosado, 0 si es independiente y usaotherwise()para asignar null conNonesi 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)