Usar filtros de texto para eliminar registros
Conviene hacer muchas preguntas a tus clientes y tomarte tiempo para entender tus variables. Descubres que las hipotecas asumibles son poco comunes en el sector inmobiliario y tu cliente te sugiere excluirlas. En este ejercicio usaremos isin(), que es similar a like() pero permite pasar una lista de valores como filtro en lugar de uno solo.
Este ejercicio forma parte del curso
Ingeniería de características con PySpark
Instrucciones del ejercicio
- Usa
select()yshow()para inspeccionar los valores distintos de la columna'ASSUMABLEMORTGAGE'y crea la listayes_valuescon todos los valores que contengan la cadena'Yes'. - Usa
~df['ASSUMABLEMORTGAGE'],isin()y.isNull()para crear un filtro NOT que elimine los registros con los valores correspondientes de la listayes_valuesy conserve los registros con valores nulos. Guarda este filtro en la variabletext_filter. - Usa
where()para aplicartext_filteradf. - Imprime el número de registros que quedan en
df.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# Inspect unique values in the column 'ASSUMABLEMORTGAGE'
df.____([____]).distinct().____()
# List of possible values containing 'yes'
yes_values = [____, ____]
# Filter the text values out of df but keep null values
text_filter = ~df['ASSUMABLEMORTGAGE'].isin(____) | df['ASSUMABLEMORTGAGE'].isNull()
df = df.____(text_filter)
# Print count of remaining records
print(____.____())