Top > Python

Jupyter x pandas x pivottablejs で最高のデータ分析/可視化環境を



これまでData Cooking Labでは、主にノンプログラマーだけどデータハンドリングしたい人に向けてPythonの導入と活用例をお伝えしてきました。
そういったノンプログラマーの方々はおそらく現在Excelを使っている方かと思いエクセルとPythonの関数の比較のような紹介をしたり、
対面によるハンズオンとしてPython入門ハンズオンを行ってきました。

ただし、いきなりコーディングだったので抵抗がある人はその後定着していないような印象がありました。
ですのでここでは、よりとっつきやすいライブラリを紹介します。pandasに慣れている人にも有用なツールかと思います。

まずはこちらのYoutubeをご覧ください。


Githubはコチラ

ExcelのピボットグラフというかTableauにも似たUIになっていて、直感的に操作できるようになっています。

pivottablejsの良いところ
  • pandas直結
  • 直感的にドラッグ&ドロップで操作可能
  • 独立したHTMLとして出力可能
  • グラフやフィルターや色の変更などカスタマイズ性が大きい


  • ということで、早速導入してみます。
    pip install pivottablejs


    でインストールが済んだら、Jupyter上で操作してきます。

    
    import pandas as pd
    from pivottablejs import pivot_ui
    
    # サンプルデータ取り込み
    data = "http://aima.cs.berkeley.edu/data/iris.csv"
    df = pd.read_csv(data, index_col=None, header=None)
    names = ['Sepal.Length', 'Sepal.Width', 'Petal.Length', 'Petal.Width', 'Species']
    df.columns = names
    
    # Jupyter上で可視化
    pivot_ui(df)
    
    # 独立HTMLの出力(データセット内包)
    pivot_ui(df, outfile_path="iris.html")
    
    

    これで出て来るのが以下の画面です。実際に直感的に触れます(スマホだとダメそう・・・)。データの性質上Scatter Chartとかが良いかと思います。Speciesを表頭の2項目目に入れると色分け出来ます。



    ちなみに色を変えるには以下のようにカテゴリデータを指定して出来ます。
    
    pivot_ui(df,
        rendererOptions= {
            "c3": { "data": {"colors": {
                "setosa": '#dc3912', "versicolor": '#3366cc', "virginica": '#ffffff'}
                            }
                  }
        })
    


    このpivottablejsという素敵ライブラリで夢が広がりました。
    今まではpandas_highchartsばかり使っていましたが、データを探索的に可視化するという意味では、pivottablejsは非常に便利に思いました。

    pandas_profiling(別途紹介予定)でデータ形式探索を、pivottablejsでデータ性質の可視化探索をという具合が良さそうです。

    pandasでデータハンドリングして作成したHTMLを共有フォルダに吐き出すようにしておけばプロジェクトメンバーとの共有も簡単ですし、色々活用の幅がありそうです。
    是非活用してみてください。




    Ads by Google