不要な文字への対処 (II)
前の演習では、df.head() の呼び出しから、どの文字が問題の原因かをすぐに特定できました。しかし、多くの場合はそれほど明白ではありません。列の深い部分にある値が原因で、列を数値型に変換できず、モデルやその後の特徴量エンジニアリングに使えないことがよくあります。
これらの値を見つける1つの方法は、pd.to_numeric() を使って列を目的のデータ型に強制変換し、問題を起こす値は NaN に置き換え、その後 DataFrame を NaN を含む行だけでフィルタリングすることです。
RawSalary 列を float にキャストしてみてください。今回は別の文字が含まれているため失敗します。文字を特定して取り除き、列を float にキャストできるようにしましょう。
この演習はコースの一部です
Python で学ぶ Machine Learning のための特徴量エンジニアリング
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# 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']____)