Calculer les pourcentages de valeurs manquantes
L’automatisation est l’avenir de la data science. Savoir automatiser une partie de la préparation des données est un atout majeur. Dans cet exercice, nous allons automatiser la suppression des colonnes si elles présentent trop de valeurs manquantes au-delà d’un certain seuil.
Cet exercice fait partie du cours
<cours>Feature Engineering avec PySpark</cours>Instructions de l’exercice
- Définissez une fonction
column_dropper()qui prend en paramètresdf, un DataFrame, etthreshold, un flottant entre 0 et 1. - Calculez le pourcentage de valeurs manquantes en utilisant
where(),isNull()etcount() - Vérifiez si ce pourcentage est supérieur au seuil ; le cas échéant, supprimez la colonne avec
drop() - Exécutez
column_dropper()surdfavec un seuil fixé à 0.6
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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 = ____(____, ____)