Ingénierie des caractéristiques avec PySpark
John Hogue
Lead Data Scientist, General Mills
Collecte de données
Règles d'entreposage des données
Jointure de sources disparates
Absences intentionnelles

Manquantes complètement au hasard
Manquantes au hasard
Manquantes non au hasard
Quand supprimer des lignes avec des données manquantes ?
isNull()
df.where(df['ROOF'].isNull()).count()
765
# Importer la bibliothèque import seaborn as sns# Sous-ensemble de la trame de données sub_df = df.select(['ROOMAREA1'])# Échantillonner la trame de données sample_df = sub_df.sample(False, .5, 4)# Convertir en DataFrame Pandas pandas_df = sample_df.toPandas()# Tracer sns.heatmap(data=pandas_df.isnull())

Processus de remplacement des valeurs manquantes
Basé sur des règles
Basé sur des statistiques
Basé sur un modèle
** fillna(value, subset=None)
value valeur de remplacement des manquantssubset liste des colonnes où remplacer les manquants# Remplacer les valeurs manquantes par zéro
df.fillna(0, subset=['DAYSONMARKET'])
# Remplacer par la moyenne de la colonne
col_mean = df.agg({'DAYSONMARKET': 'mean'}).collect()[0][0]
df.fillna(col_mean, subset=['DAYSONMARKET'])
Ingénierie des caractéristiques avec PySpark