Edited at

Jupyterでpivottableを使う

More than 1 year has passed since last update.


1. Jupyter内でインタラクティブに集計したい

linux環境でJupyterを動かしていて、データを探索的に集計したいときにデータをcsvに出力してローカルのExcelでPivotを使うのは結構面倒なので、できるだけJupyter内でやりたい

調べてみると、pivottablejsを使えばいいと分かった

そもそもライブラリ名にあるように内部的にはJavascriptで動いているっぽいが、pipで入れると

Jupyterで使えるっぽい


2. pivottalbejsを入れる

まずはpipで入れる

pip install pivottablejs

pip install jupyter #jupyterが入ってなければ
pip install seaborn #サンプルデータを使いたいので


3. pivottablejsをJupyterで使う

問題なく入れば、Jupyterを開いて適当にどんな感じか見てみる

import pivottablejs

import seaborn
df_titanic = seaborn.load_dataset("titanic")
pivottablejs.pivot_ui(df_titanic)

pivot_ui(DataFrame)のメソッドで起動する

スクリーンショット 2017-04-02 05.33.17.png

出力セルにpivottableが出てくる。これで集計できるっぽい

試しに、タイタニックの生存/死亡を親に対する子供の割合別に集計してみる

スクリーンショット 2017-04-02 05.37.09.png

おぉ!!簡単にドラッグ&ドロップでできる!!

基本的には、公式でどんな機能があるかを確認した方がいいけど、備忘録も兼ねて使える機能を整理しておく

機能
概要

Table
通常のテーブル

TableBarchart
セル内に棒グラフが表示される

Heatmap
ヒートマップ

Row Heatmap
行基準でヒートマップ

Col Heatmap
列基準でヒートマップ

Line chart
線グラフ

Bar chart
棒グラフ

Stacked Bar chart
積み上げ棒グラフ

Area chart
面グラフ

Scatter chart
散布図

Treemap
Treemap

Export tsv
Tsv形式の出力

おしまい