Calcular porcentajes de valores ausentes
La automatización es el futuro de la ciencia de datos. Aprender a automatizar parte de la preparación de datos da muy buenos resultados. En este ejercicio, vamos a automatizar el borrado de columnas si tienen datos ausentes por encima de un umbral concreto.
Este ejercicio forma parte del curso
Ingeniería de características con PySpark
Instrucciones del ejercicio
- Define una función
column_dropper()que reciba los parámetrosdf, un dataframe, ythreshold, un float entre 0 y 1. - Calcula el porcentaje de valores ausentes usando
where(),isNull()ycount() - Comprueba si el porcentaje de ausentes supera el umbral; si es así, elimina la columna con
drop() - Ejecuta
column_dropper()sobredfcon el umbral establecido en .6
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
def column_dropper(df, threshold):
# Takes a dataframe and threshold for missing values. Returns a dataframe.
total_records = df.____()
for col in df.columns:
# Calculate the percentage of missing values
missing = df.____(df[col].____()).____()
missing_percent = ____ / ____
# Drop column if percent of missing is more than threshold
if ____ > ____:
df = df.____(col)
return df
# Drop columns that are more than 60% missing
df = ____(____, ____)