Gestire i caratteri fuori posto (II)
Nel precedente esercizio, grazie alla chiamata df.head() hai potuto capire subito quali caratteri causavano problemi. In molti casi, però, non sarà così evidente. Spesso ci sono valori annidati in profondità in una colonna che impediscono di effettuare il cast della colonna a un tipo numerico, necessario per usarla in un modello o per ulteriori operazioni di feature engineering.
Un approccio per individuare questi valori è forzare la colonna al tipo di dato desiderato usando pd.to_numeric(), convertendo in NaN i valori problematici, e poi filtrare il DataFrame mantenendo solo le righe che contengono i NaN.
Prova a effettuare il cast della colonna RawSalary a float: fallirà perché ora c’è un carattere aggiuntivo al suo interno. Trova il carattere e rimuovilo, così la colonna potrà essere convertita a float.
Questo esercizio fa parte del corso
Feature Engineering per il Machine Learning in Python
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Attempt to convert the column to numeric values
numeric_vals = ____(so_survey_df['RawSalary'], errors='coerce')
# Find the indexes of missing values
idx = ____
# Print the relevant rows
print(so_survey_df['RawSalary']____)