Tableau風にデータ操作できるPythonライブラリーPyGWalker

Tableau風にデータ操作できるPythonライブラリーPyGWalker

データを手に入れたとき、どのようなデータなのか理解する必要があります。

そのとき求められるのが、データを簡単に探索し分析できるユーザーフレンドリーなTableauのようなツールです。

しかし、それには多大なコストがかかります。

PandasPolarsデータフレーム(DataFrame)を、Tableau風のユーザーインターフェイスで操作できるようにするPythonライブラリーがあります。

PyGWalkerです。

PyGWalkerを利用すると、Notebook上でほぼドラッグ&ドロップ操作のみで、効率的かつ効果的にデータを探索したり分析したりすることができます。

PyGWalkerは、Tableauの代替品とも言われているオープンソースであるGraphic Walkerを利用したものです。

要は、Python上でGraphic Walkerを利用する、という感覚です。

今回は、Tableau風にデータ操作できるPythonライブラリーPyGWalkerを紹介します。

PyGWalkerのインストール

まずは、PyGWalkerをインストールしましょう。

condaでインストールするときは、以下です。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
conda install -c conda-forge pygwalker
conda install -c conda-forge pygwalker
conda install -c conda-forge pygwalker

 

pipでインストールするときは、以下です。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
pip install pygwalker
pip install pygwalker
pip install pygwalker

 

Jupyter Notebook で pygwalker を使用する準備

利用するには、必要なモジュールを読み込む必要があります。

Pandasデータフレーム(DataFrame)を扱うときは、以下です。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import pandas as pd
import pygwalker as pyg
import pandas as pd import pygwalker as pyg
import pandas as pd
import pygwalker as pyg

 

Polarsデータフレーム(DataFrame)を扱うときは、以下です。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import polars as pl
import pygwalker as pyg
import polars as pl import pygwalker as pyg
import polars as pl
import pygwalker as pyg

 

以後、Pandasのデータフレーム(DataFrame)を扱うことを前提に話しを進めます。

 

データの読み込み

KaggleBike Sharing Demandのデータセット使います。

以下、データ項目です。

  • datetime – 日時
  • season 
    • 1 = 春
    • 2 = 夏
    • 3 = 秋
    • 4 = 冬
  • holiday – その日が休日であるかどうか
  • workingday – その日が週末でも休日でもない日かどうか
  • weather 
    • 1:晴れ、雲少ない、部分的に曇り、部分的に曇り
    • 2: 霧+曇り、霧+切れ落ちた雲、霧+少ない雲、霧
    • 3:小雪、小雨+雷雨+雲が散らばる、小雨+雲が散らばる
    • 4:大雨+氷柱+雷雨+霧、雪+霧
  • temp – 気温(摂氏)。
  • atemp – 体感温度
  • humidity – 相対湿度
  • windspeed – 風の速さ
  • casual – 非登録ユーザーによるレンタル開始数
  • registered – 登録ユーザーによるレンタル開始数
  • count – 総レンタル数

データセット(CSV)そのものは、DAT8コース(2015年にワシントンDCで開催されたデータサイエンスコース)のリポジトリのものを利用します。

 

PandasCSVファイルを読み込み、データフレーム「df」に格納し、それをGraphic Walkerで操作します。

以下、コードです。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
url = 'https://raw.githubusercontent.com/justmarkham/DAT8/master/data/bikeshare.csv'
df = pd.read_csv(url, index_col='datetime', parse_dates=True)
gwalker = pyg.walk(df)
url = 'https://raw.githubusercontent.com/justmarkham/DAT8/master/data/bikeshare.csv' df = pd.read_csv(url, index_col='datetime', parse_dates=True) gwalker = pyg.walk(df)
url = 'https://raw.githubusercontent.com/justmarkham/DAT8/master/data/bikeshare.csv'
df = pd.read_csv(url, index_col='datetime', parse_dates=True)
gwalker = pyg.walk(df)

 

以下、実行結果です。

 

Data(データ)Visualization(視覚化)の2つのメニュー(タブ)があります。

 

Data(データ)

Data(データ)をクリックすると、ローデータの内容をテーブル形式で確認することができます。※クリックすると拡大します

 

各変数が、どのようなデータなのか設定することもできます。

  • この変数は、「集計軸」(dimension)なのか? 「集計対象」( measure)なのか?
  • この変数は、「名義変数」(nominal)なのか? 「順序変数」(ordinal)なのか? 「量的変数」(quantitative)なのか? それ以外(temportal)なのか?

 

Visualization(視覚化)

散布図を作ってみます。※クリックすると拡大します

 

折れ線グラフを作ってみます。※クリックすると拡大します

 

積み上げグラフを作ってみます。※クリックすると拡大します

 

まとめ

今回は、Tableau風にデータ操作できるPythonライブラリーPyGWalkerを紹介しました。

何かしらデータを入手したら、取り急ぎPyGWalkerでデータ理解をするのがいいでしょう。

PyGWalker と Streamlit でTableau風ダッシュボードを12行コードで作成する