欠損率を計算する
データサイエンスの将来は自動化にあります。前処理の一部を自動化できるようになると大きな効果があります。この演習では、欠損が指定したしきい値を超える列を自動的に削除する処理を作ります。
この演習はコースの一部です
PySparkで学ぶ特徴量エンジニアリング
演習の手順
df(DataFrame)とthreshold(0〜1の浮動小数)を受け取る関数column_dropper()を定義します。where()、isNull()、count()を使って、欠損している値の割合を計算します。- 欠損の割合がしきい値より高いかを確認し、高ければ
drop()で列を削除します。 - しきい値を 0.6 に設定して、
dfに対してcolumn_dropper()を実行します
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
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 = ____(____, ____)