ml

Pythonで基礎集計!pandas_profilingがめちゃめちゃ便利だった

pandas-profilingのインストール方法と使い方を解説します。

機械学習をやっていると避けて通れないのが基礎集計ですが、pandas-profilignを使えば一瞬です。

データがどうなっているのかを確認し、適切な処理を加える必要があります。

よくやるのが、統計量、ヒストグラム、出現回数を整理するんですが割と面倒臭いです。

  • 従来のpandasでの基礎集計とpandas-profilingの違いを説明します。

従来の方法(pandasで頑張る)

従来だと、hist()value_counts()describe()を使っています。

pandasのインストール

pipを使う

pip install pandas

condaを使う

conda install pandas

次に、pandasをインポートして、tsvファイルを読み込みます。

pandasのimport

サンプルデータとしてtsvをgistに公開しているのでgistからダウンロードします。

import pandas as pd
! wget https://gist.github.com/tai-hatake/b7493420cd0a2d02f730f048b2ec06d5
df = pd.read_table('nogizaka.tsv')

ヒストグラム

  • hist
df.hist()

統計量

df.describe()

出現回数

  • value_countsは、1列ずつやらないといけない。
  • ただ、数字並べられてもわからないので結局グラフ化することになる。
df['id'].value_counts()

> output
0    819435
1    663100
Name: shipping, dtype: int64

 

なにが、これまでの方法だと辛いかというと

グラフが汚くなってしまう。データ量がそこまででなければ問題にならないのですが、

多くなってくると見辛い。

それを解消してくれるのが、pandas_profiling!!!

pandas_profilng

pandas_profilingをインストールする

pipを使う

pip install pandas-profiling

condaを使う

condaを install pandas-profiling

pandas_profilingで基礎集計をしてみる

import pandas as pd
import pandas_profiling as pdp
df = pd.read_table('train.tsv')
pdp.ProfileReport(df)

残念ながら、出力をすべて画像形式などダウンロードすることはできませんでした。

ただ、グラフは個別に画像で保存することができます。

 

きれいなレポートが出てきてますね。

これだけで、よくわかってない人が見たら驚きそうですね!

ABOUT ME
アバター
ロッピー
コンサルタントから2018年にエンジニアに転向。年収400万円のサラリーマンエンジニアから、半年で月収100万円を稼ぐエンジニアになった。 Python、Golangなど単価の高い言語を得意とする。