EDAでpandas_profilingを使う
pandas_profilingがめっちゃ便利だった。
特徴量のEDAにおいて、一般的にはinfo()を使ってデータ量や型を見たり、describe()を使って統計量を見たり、isnull().sum() を使ってNull数を見たり、関係性や分布などを自分で可視化したりする。
pandas_profiling を使うとそれらが一括で行えるし、なんならhtmlとして出力できる。
導入
pip install pandas_profiling
pandas_profilingを実際に動かしたときに自分の環境だと、no module named 'visions' pandas_profiling と出てしまい visionsモジュールも入れないと動かなかったのでついでに入れた。
pip install visions
実践
とりあえずirisデータを使う。
from sklearn.datasets import load_iris import pandas as pd iris = load_iris() iris = pd.DataFrame(iris.data, columns=iris.feature_names) iris.head()

pandas_profiling で色々と見る。
from pandas_profiling import ProfileReport profile = ProfileReport(iris, title='Pandas Profiling Report') profile
全体像

特徴量毎の情報

変数毎の関係

欠損値

サンプルデータ

ちなみに、この結果はhtmlで出力できる。
profile.to_file(iris = 'reports.html')
注意点
データ量が多いとProfileReport()が結構時間かかるので注意。
また、データフレーム名をdfにして動かしたら、pandas_profilingの内部コード(__init__.py)でdfという変数名が使われているからか実行ができなかったので、データフレーム名は注意。