評価をグループの中央値で置き換える
前の演習では、rating 列の欠損値を列全体の中央値で置き換えました。もう少し良くできるでしょうか?できます!同じ会社のチョコレートに限定した中央値で置き換えられます。さっそくやってみましょう。
あらかじめ用意された replace_missing() 関数は、DataFrame group と列名 col の2つの引数を取ります。col 列の中央値を計算し、成功すればその値を返します。中央値の計算に失敗した場合(値がないなど)には、あらかじめ定義された既定値を返します。
chocolates データセットと、DataFrames および Statistics パッケージは読み込まれています。
この演習はコースの一部です
Julia でのデータ操作
演習の手順
chocolatesをcompanyでグループ化し、GroupedDataFrame を反復処理します。- 各グループで
rating列に対してismissing()を使ってサブセット化し、欠損値をreplace_missing()関数の戻り値で置き換えます。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Group by company and iterate
for group in ____(____)
# Subset each group using ismissing() and the rating column, assign a new value
group[____, ____] .= replace_missing(group, :rating)
end
println(describe(chocolates, :nmissing))