4
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

「”すぐ” このデータまとめて欲しい」に ”すぐ”に超簡単に応えられる Python の・・・(Pandas-Profiling編)

Last updated at Posted at 2021-09-10

~手元データの要約、視覚化を超簡単に実現して、探索的データ解析(EDA)しよう(Pandas-Profiling編)~

image.png

2020/09/14:Google Colabで開くブックマークレット追加
Open In Colab


はじめに

 
「おい、悪いが”すぐに”このデータまとめてくれ」
 
緊急!となれば、そりゃ”すぐに”取りかかるが、”すぐに”まとめることができるかは別の話・・・これはデータ項目が多いときほど悩ましいものです。

じつは、Pythonには、このようなデータセットでも”すぐに”まとめることができる pandas-profiling ってのがある。

「Pythonで相関係数行列グラフとか描けるのは知ってるけど、チマチマやってる時間ないんです」

といった方にとっても、まとめを頼んだ上司にとっても、まちがいなく喜んでくれるはず。

この記事は、私の備忘含め、pandas-profiling が誰でも簡単に実行できるように記録するものです。

 


実行条件など

Google colabで実行
ボストン住宅価格のデータセットで実行
※手元データを読込んで実行する場合も記載していますので、簡単にできるはずです。

  
  


ボストン住宅価格のデータセットについて

以下サイト(Kaggle)の「Boston.csv」を使わせていただいた。
データ数:506, 項目数:14のデータセットで、住宅価格を示す「MEDV」という項目と、住宅価格に関連するであろう項目が「CRIM:犯罪率」「RM:部屋数」「B:町の黒人割合」「RAD:高速のアクセス性」・・・等、13項目で構成されたデータとなっています。

これだけ項目があると、データ傾向を掴むだけでも、なかなか骨が折れるだろうと想像できますね。

ボストン住宅価格データの項目と内容

|項目|内容|
|:-----------|:------------------|
|CRIM|町ごとの一人当たり犯罪率|
|ZN|25,000平方フィート以上の住宅地の割合|
|INDUS|町ごとの非小売業の面積の割合|
|CHAS|チャールズ川のダミー変数(川に接している場合は1、そうでない場合は0)|
|NOX|窒素酸化物濃度(1,000万分の1)|
|RM|1住戸あたりの平均部屋数|
|AGE|1940年以前に建てられた持ち家の割合|
|DIS|ボストンの5つの雇用中心地までの距離の加重平均|
|RAD|高速道路(放射状)へのアクセス性を示す指標|
|TAX|10,000ドルあたりの固定資産税の税率|
|PTRATIO|町ごとの生徒数と教師数の比率|
|B|町ごとの黒人の割合|
|LSTAT|人口の下層階級の比率|
|MEDV|住宅価格の中央値(1000㌦単位)|

  


プロファイリング(pandas-profiling)してみよう!

ライブラリのインストールおよびインポート

ライブラリのインストールおよびインポート
!pip install git+https://github.com/pandas-profiling/pandas-profiling.git
!pip show pandas_profiling
import pandas as pd
import warnings
from pandas_profiling import ProfileReport
from pandas_profiling.utils.cache import cache_file

warnings.filterwarnings('ignore')

データの読み込み
※手元データを読込む場合は、読み込むファイル名を変更してください。
※Excelファイルを読込む場合は、pd.read_excel('ファイル名.xlsx')となります。

df = pd.read_csv("Boston.csv",index_col=0)
profile = ProfileReport(df)

プロファイルを出力

profile
結果をHTML出力(ファイル名は任意)
profile.to_file("Profile‗result.html")

出力イメージ
プロファイルから読み取った概要に、HTML出力結果にをアタッチして報告すれば、きっと喜んでいただけるでしょう。
image.png
image.png
image.png
image.png
image.png


最後に

Pythonには「こんなことまでできるのか」と驚かされることがいろいろある。
このpandas-profiling もそのひとつ。使わない手はない。
 
↓これすごいです。WebブラウザでPandas-profileingが実行できます。


参考サイト

※GitHubにローカルファイル読み出しができるよう改良したコードをアップしています。

4
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?