データ分析のためのクレンジングのTips
kaggleなど比較的にきれいなデータで分析する場合はあんまり悩まないのですが、実務の場合は汚いデータで任されることはしばしばあります、っていうかほとんどです。
こういった汚いデータを使って分析で結論を出そうと思ってたら、なんかデータおかしいんじゃない?数値合わないんじゃない?なんか予想外のレコードが入ってるんだけどって思ったことありませんか?私にはあります、多分ほぼすべてのデータアナリスト・データエンジニアが通過する道ではないかとも思います。
ここではいくつかのTipsをシェアしたいと思います
- データをロードしたらまずは
.info()
ですべての列の型を確認する - 定義次第で一旦DataFrameに対してdrop_duplicates()
- 全ての列に対して欠損率を確認する
- 全ての文字列に対してmojimojiライブライで正規化する(全角整数を半角に、半角カナを全角に)
- 全ての文字列に対して.
str.strip()
で両側の変なスペースを削除する - 全てのカテゴリ変数に対して
.unique()
で中身を確認する - 全ての数値列に対してhist()で分布を確認する
- mergeなど行数を変換させえるコードは実行するたびに
.size()
で辺に変わってないかを確認する - mergeする際に、コード類の列が存在すれば優先でkeyとして使用すること
以上のTipsを息を吸うように出来たら後でやっぱ違うわってなる頻度は大分減ると思います。最後、多分誰もやりたくないのですが、めっちゃくちゃ汚いデータに対してはロードしたら全ての列をstrに変換してから列の定義を確認してから自分でキャストしたほうが安全かとと思います。
1
0
件のコメント
ページの最後