Address
304 North Cardinal St.
Dorchester Center, MA 02124

Work Hours
Monday to Friday: 7AM - 7PM
Weekend: 10AM - 5PM

データを簡単に可視化してくれるおすすめPythonライブラリydata-profilingの基本的な使い方の解説

Pythonで簡単に基本的なデータ分析が可能なおすすめライブラリydata-profilingの紹介とその使い方の解説

今回はPython × Pandasによるデータサイエンス入門としておすすめのデータ可視化ライブラリ、ydata-profilingの紹介です。

公式GitHubリポジトリ

ydata-profiling

ydata-profilingとは?

データの可視化

ydata-profilingとは、Pythonのpandasなどと連携してデータを可視化して、データの概要や特徴などわかりやすく表示してくれるライブラリです。実は少し前まではpandas-profilingという名前でしたが、改名となりました。

このydata-profilingを使うと次のようにデータを可視化できます。これはVSCode上でのJupyter Notebookのファイルとして実行させた場合の動画です。

どうでしょう?なかなか見やすいのではないでしょうか?

表示される情報

このydata-profilingだけでもデータに含まれた様々な統計的情報が簡単に把握できます。たとえば、

  • データ全体(行列全体)のインデックス数、量的変数の数、カテゴリ変数の数、重複している行、情報が入っていないセルの数とその割合など
  • 列ごとの平均、標準偏差、中央値、四分位数、最大値、最小値、歪度、合計値、ヒストグラム
  • ある列と他の列とを組み合わせた散布図や相関図

など多くの種類の情報をチェックすることができ、これだけでもデータサイエンスの第一歩として使えるのではないでしょうか。

このydata-profilingのすごいところは、こうした可視化がとても簡単に、ほんの少しのコード(実質1行)で実現できる点です。ではさっそくその基本的な使い方を見てみましょう。

使い方

Python環境へのインストール

pip install ydata-profiling

もしAnacondaを使っている場合ならば、

conda install -c conda-forge ydata-profiling

インポート

import numpy as np
import pandas as pd
from ydata_profiling import ProfileReport

基本的にpandasやnumpyといっしょに使うものなので、上のコードではそれらも合わせてインポートさせています。

インスタンスオブジェクト作成

profile = ProfileReport(①, ②)

第1引数と第2引数は次のような設定となります。

引数①pandas.DataFrameオブジェクト
引数②title=”XXXXXX”

たとえば、pandas.DataFrameオブジェクトとして「df」というのがあるとして、

profile = ProfileReport(df, title="Profiling Report")

とします。

レポート表示

Jupyter Notebookを使う場合

もしJupyter Notebook(VSCode上であっても)を使っている場合ならば、

profile.to_widgets()

または、

profile.to_notebook_iframe()

のどちらかでOKです。

こうするだけで、最初の書き方だと上の動画の1つめのようになり、2つ目の書き方だと上の動画の2つ目のようになります。

なお2つ目の書き方は、「iframe」という言葉でわかるかもしれませんがHTML化されたレポートを埋め込む感じになります。

それ以外の場合

一方でJupyter Notebookを使わない場合は、

profile.to_file("your_report.html")

このようにしてレポートのHTMLファイルを作成・出力し、それを保存するという使い方となります。レポートを見るときは、その保存されたHTMLファイルをVSCodeのプレビュー機能で閲覧するか、ChromeやSafariなどのインターネットブラウザでそのHTMLファイルを開きましょう

2024/4/1時点での注意:Correlation機能に不具合

2024/4/1時点では、pandasのバージョンが2.1以上だとyadata-profilingで作成されるレポートにおいて、correlation機能がエラーとなり動きません。これはpandas側の仕様変更があったからだと思われます。気になる人はpandasのバージョンを2.0系に下げてみるとよいでしょう。次のGitHubのページを参考にしてください。

GitHub:Correlations stopped working #1527

まとめ

ydata-profilingはデータサイエンスやデータ分析の第一歩としてとても役立つもので、しかも、上記のように簡単なコードで使うことが可能です。pandasを使うならば、ぜひそれとあわせて使ってみてください。

このようなPythonを使ったデータ分析については、世界最大級の動画講座Udemyでも多くの人気講座があります。たとえば、【世界で55万人が受講】データサイエンティストを目指すあなたへ〜データサイエンス25時間ブートキャンプ〜(PR) icon【2023年5月改訂版】実践 Python データサイエンス(PR) iconデータサイエンスのための実践Pandas(PR)といった講座が大変人気があります。icon

愛を分かち合いましょう