注目キーワード

【Python】pandas profilingを使ってデータを可視化してもらう

これまでのブログ記事でも pandas を使ったいろんなデータの処理を説明してきました。今回の記事ではデータフレームの中身を簡単に確認するためには print() を使うか、df.describe() のように pandas や python の標準機能を利用してきました。今回の記事では pandas-profiling を利用してデータを可視化してみます。

インストール

これまでのpandasの記事と同様に、pandasがインストールされていない場合には pip install pandas を実行しておく必要があります。

また新しく pandas_profiling というライブラリを利用するので、こちらも pip install pandas-profiling としてインストールします。

サンプルデータ

東京都が公開している市区町村の人口・世帯数のデータ からダウンロードできるエクセルファイルのうち、23区のデータを整形したものを利用します。このようなデータです。それぞれ区の名前、世帯数、人口、人口(男)、人口(女)の順で格納しています。

データを読み込み profiling を行ってレポートを作成する

サンプルのデータ(data.tsv)を読み込み、レポートを作成して可視化してみます。

サンプルソース

サンプルの実装です。

  • データ(data.tsv)を読み込みます
    • 区切り文字はタブ、インデックスは0列目(都道府県名)、属性名は適当に設定します。
  • 読み込んだデータからProfileReportを作成します。
  • 作成したProfileReportをprofile.htmlの形で出力します。

実行結果

実行すると、処理が行われます。

作成されたファイル(profile.html)をブラウザで開いて確認してみます。レポートの先頭には全体の概要が書かれています。

例えば世帯数(1列目)のデータのレポートを見てみると、次のように表示されます。

今まで describe() で確認していた情報や、ヒストグラムがわかりやすく可視化されたことが分かります。単体のHTMLファイルとして生成されるので、使い回しも良いかもしれないですね。

スポンサーリンク

pandas や python を利用してデータを処理し、結果を共有する場面は多いので、自分でレポートを作るだけではなく、このような便利なライブラリを一度使ってみると助かる場面があるかもしれませんね。データを読ませて一度使ってみてください。