Ingeniería de características con PySpark
John Hogue
Lead Data Scientist, General Mills
Recopilación de datos
Reglas de almacenamiento de datos
Unir datos dispares
Faltantes intencionales

Faltantes completamente al azar
Faltantes al azar
Faltantes no al azar
¿Cuándo eliminar filas con datos faltantes?
isNull()
df.where(df['ROOF'].isNull()).count()
765
# Import library import seaborn as sns# subset the dataframe sub_df = df.select(['ROOMAREA1'])# sample the dataframe sample_df = sub_df.sample(False, .5, 4)# Convert to Pandas DataFrame pandas_df = sample_df.toPandas()# Plot it sns.heatmap(data=pandas_df.isnull())

Proceso para reemplazar valores faltantes
Basado en reglas
Basado en estadística
Basado en modelos
** fillna(value, subset=None)
value, el valor con el que reemplazar los faltantessubset, la lista de columnas donde reemplazar faltantes# Reemplazar valores faltantes por cero
df.fillna(0, subset=['DAYSONMARKET'])
# Reemplazar por la media de esa columna
col_mean = df.agg({'DAYSONMARKET': 'mean'}).collect()[0][0]
df.fillna(col_mean, subset=['DAYSONMARKET'])
Ingeniería de características con PySpark