Feature Engineering avec PySpark
John Hogue
Lead Data Scientist, General Mills
Collecte des données
Règles de stockage des données
Jonction de données disparates
Absences volontaires

Manquant complètement au hasard
Manquant au hasard
Manquant non aléatoire
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 du DataFrame sub_df = df.select(['ROOMAREA1'])# Échantillonner le DataFrame sample_df = sub_df.sample(False, .5, 4)# Convertir en DataFrame Pandas pandas_df = sample_df.toPandas()# Tracer sns.heatmap(data=pandas_df.isnull())

Remplacement des valeurs manquantes
À base de règles
À base de statistiques
À base de modèle
** fillna(value, subset=None)
value : valeur de remplacement des manquantssubset : liste des colonnes à remplacer# 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'])
Feature Engineering avec PySpark