【Python】 Pandas-Profilingを使ってみた
こんにちは。
最近Kaggleとかやっていて、EDAやるのめんどくさいとか思ったりしちゃったりした時に、ざくっと簡単に分析することができないかなぁと思って調べていたら「Pandas-Profiling」というものがあったので、実際に使ってみました。
本家のサイトなど
Githubで公開されています。
- Github : GitHub - pandas-profiling/pandas-profiling: Create HTML profiling reports from pandas DataFrame objects
- Demo : Jupyter Notebook Viewer
Demoを見る感じでは、データを準備したらあとは1行コードを書くだけ、って感じみたいですね。。。すごすぎる。。。
Dependencies
- インターネットのコネクションが必要:Pandas-Profilingは、BootstrapとかjQueryを使うので(これは注意)
- python (>= 2.7)
- pandas (>=0.19)
- matplotlib (>=1.4)
- six (>=1.9)
Install
インストールは他のやつと同じです。
pip
$ pip install pandas-profiling
conda
$ conda install pandas-profiling
使い方
基本的にPandas-Profilingが吐き出すレポートはHTMLとCSSをベースにしているので、基本Jupyter Notebookを使うといいのかなと思います(もちろんhtmlとして吐き出すことも可能です)。可視化とかしてぼーっと眺めて分析してとかやるので、基本Jupyterでいいのかなとは思いますが。
以下のNotebookがやってみた例です。簡単すぎて禿げますね。。。
なんか表示が崩れているので、画像でもあげます。
画像をみてもらえればわかりますが、以下のコード一発でいけちゃうという衝撃。
# df に pandasのDataFrameを入れる
pandas_profiling.ProfileReport(df)
こんな感じで可視化してくれます。
また、詳細を表示することもできて、「Toggle details」っていう部分をクリックすると、以下のように表示されます。
基本的にJupyter Notebook以外でも、KaggleのカーネルやGoogleColabでも使えるみたいですので、コンペとか出た時はEDAするときとかは積極的に使っていきたいです。GoogleColabでは、若干手間は必要みたいですが、そんなに難しくないのでいけますね。
それでは。