今回は欠損値について、記事を書いていきます。
内容
・欠損値とは
・欠損値の確認方法
・欠損値の対処法
欠損値とは
欠損値とはデータの値がはいっていないことをいいます。
例えば、表データに空欄やNULLといった具体的な数値が入っていない状態のことです。
欠損値があるとうまくデータがとれないため、グラフに可視化しても偏りがでてしまいます。
欠損値の確認方法
では、欠損値を見つけるためにはどういう方法があるのでしょうか。
それはpythonのpandasを使えば容易にみつけることができます。ここではcsvデータをつかっていることとします。
isnull関数
pandasではデータが入っていないところを簡単に見つけてくれる関数があります。それは「isnull()」です。これはデータのないところを一つ一つの欄にFalse,Trueを表示してくれる関数です。値がない場合はTrue、ある場合はFalseを表示してくれます。
any関数
では、データ一つ一つチェックしてくれなていいよ、欠損値があるかないかをしりたい場合は「any()」という関数をisnull()の後に付け足すことで各列(カラム)に欠損値があるかを確認してくれます。出力結果は、各カラムに対してTrue,Falseで表示されます。欠損値がある場合はTrue、ない場合はFalseを表示してくれます。
sum関数
欠損値の個数をしりたい場合に使います。これもany関数と同様にisnull関数の後に付け加えることでnullの個数を出力することができます。
value_counts関数
指定した列の数値の個数を調べてくれる関数です。例えば、0という数が10個ありますよというような出力結果を得ることができます。
欠損値の対処法
欠損値を確認しただけでは何も意味がありません。それを具体的な数値を代入しないといけません。これを補間といいます。
fillna関数
では、表のnullのところに数値を補間していきましょう。この時に使うのが「fllna」という関数です。この関数は表のnullが表示されているところをすべて数値に変えてくれます。引数に数値を指定することで好きな値を指定して保管することができます。fillna(0)とすれば、nullをすべて0に補間してくれます。
dropna関数
具体的な数値に入れ替えるのではなく、nullがある行を削除したい場合は「dropna」という関数を使います。厳密には、ある列にnullがあった場合、それに対応した行を削除します。特定の列をしてする場合には引数に「subset=["列名"]」と指定します。