データを手に入れたとき、どのようなデータなのか理解する必要があります。
そのとき求められるのが、データを簡単に探索し分析できるユーザーフレンドリーなTableauのようなツールです。
しかし、それには多大なコストがかかります。
PandasやPolarsのデータフレーム(DataFrame)を、Tableau風のユーザーインターフェイスで操作できるようにするPythonライブラリーがあります。
PyGWalkerです。
PyGWalkerを利用すると、Notebook上でほぼドラッグ&ドロップ操作のみで、効率的かつ効果的にデータを探索したり分析したりすることができます。
PyGWalkerは、Tableauの代替品とも言われているオープンソースであるGraphic Walkerを利用したものです。
要は、Python上でGraphic Walkerを利用する、という感覚です。
今回は、Tableau風にデータ操作できるPythonライブラリーPyGWalkerを紹介します。
PyGWalkerのインストール
まずは、PyGWalkerをインストールしましょう。
condaでインストールするときは、以下です。
conda install -c conda-forge pygwalker
pipでインストールするときは、以下です。
pip install pygwalker
Jupyter Notebook で pygwalker を使用する準備
利用するには、必要なモジュールを読み込む必要があります。
Pandasのデータフレーム(DataFrame)を扱うときは、以下です。
import pandas as pd import pygwalker as pyg
Polarsのデータフレーム(DataFrame)を扱うときは、以下です。
import polars as pl import pygwalker as pyg
以後、Pandasのデータフレーム(DataFrame)を扱うことを前提に話しを進めます。
データの読み込み
KaggleのBike 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で開催されたデータサイエンスコース)のリポジトリのものを利用します。
PandasでCSVファイルを読み込み、データフレーム「df」に格納し、それをGraphic Walkerで操作します。
以下、コードです。
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でデータ理解をするのがいいでしょう。