Omgaan met losse tekens (II)
In de vorige oefening kon je dankzij de aanroep df.head() snel zien welke tekens voor problemen zorgden. In veel gevallen is dat minder duidelijk. Vaak zitten er waarden dieper in een kolom die voorkomen dat je een kolom naar een numeriek type kunt casten, zodat je die in een model of voor verdere feature engineering kunt gebruiken.
Een manier om deze waarden te vinden is door de kolom te dwingen naar het gewenste datatype met pd.to_numeric(), waarbij probleemwaarden naar NaN worden geconverteerd (coercion). Vervolgens filter je de DataFrame op alleen de rijen met NaN-waarden.
Probeer de kolom RawSalary te casten naar een float; dat zal mislukken omdat er nu een extra teken in staat. Vind dit teken en verwijder het zodat de kolom wél naar float kan worden gecast.
Deze oefening maakt deel uit van de cursus
Feature engineering voor Machine Learning in Python
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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']____)