はんなりPythonの会月報

はんなりPythonの会の活動についてお知らせします

はんなりPython #13 Dash Returnsを開催しました。

f:id:mazarimono:20190110161454p:plain

第3金曜日ははんなりPythonの会です!

先日1月18日は第三週の金曜日でした。第三週の金曜日ということははんなりPythonの開催の日です!

この記事は運営の小川(@mazarimono)が書いております。

#13も可視化ライブラリDashを扱いました!

というわけで、今回は11月に引き続き、ReactとPlotly、Flaskからなる可視化ライブラリのDashのハンズオンを行いました。

hannari-python.connpass.com

資料は前回と同じです。前回に引き続き、ドキュメントにあるお手本を解説しながらすすめました。githubリポジトリはこちら。

github.com

コードなどはgithubを参照していただければ幸いです。

2回連続で扱っているのは、データを見るにおいて、これほどインタラクティブにグラフが動くとアイデアが浮かびそう!!!ってところからです。今回のハンズオンではgithubでいうと、app5.pyみたいな事ができるってのが今までにないことだ!!って話題で盛り上がりました。

データの作り方のお話

あとは、(前回も少し話した)データの作り方に関しても話題となりました。

Dashを使ってて思ったのが、これまでのデータの作り方とは異なり、全部のデータを”がさっ”と入れるようなデータになっているなということでした。

github.com

上のrawデータを見てもらうと、データの要素もごそっとデータフレームに入れられていることがわかります。これまでだったらこれか国名がコラムとかに入ってデータが作られていたのですが、そうなっていないというのは興味深いところでした。

実際にDashなんかでインタラクティブに可視化する場合は、このようなデータの作り方をすると、コールバックで動かす場合に凄い便利だってのがわかります。

最近、こちらもインタラクティブな可視化が出来るAltairのドキュメントを読んでいると、興味深いことが書かれていました。この差について、ドキュメントで詳しく取り上げられていたのです。

altair-viz.github.io

ここで取り上げられているのは株価のデータなのですが、これも違いがよく分かる事例です。これまでは終値を複数銘柄で並べる際に、コラムに銘柄名を設定して、データを作っていました。このデータの作り方をここではワイドフォームデータと呼んでいます。エクセルチックな行と列を選んで、それが当たったところに求めていたデータが有るという形です。

f:id:mazarimono:20190119201316p:plain

一方で、最近のインタラクティブな事ができる可視化ライブラリで見るデータの形は次のようなものになっています。

f:id:mazarimono:20190119201540p:plain

こちらのデータはロングフォームデータとここでは呼ばれ、一つの観測データが独立して入っているイメージです。

人間が分かりやすいのはワイドフォームデータの方ですが、機械が扱いやすいのはロングフォームデータで、SQLなんかはロングフォームデータを扱うわなみたいな話となっていました。

その他キータに記事としてあるのは整然データというふうな名前で取り上げられていました。

qiita.com

そのリンク先には詳しい文章があります(まだ読めていません)。

id.fnshr.info

こういうなデータ整形のためにpandas会をってのは1月の初めのミーティングでも話題になっており、そのうちpandas会も行われることかと思いますので、その際はぜひご参加を!

扱いたいデータがない問題

データを普段から触っていない人が、この可視化ライブラリが凄い!!!っていわれても可視化したいデータが無いという話もありました。

sklearnについているデータセットとかでも良いと思うのですが、グーグル先生がデータセット検索を用意してくれているので、それを使ってみるのも良いかもしれません。

toolbox.google.com

でも、これは検索キーワードが難しい問題が逆に浮上しそうな・・・w

次回は発表会です

という感じで二回目のDashの会を終えました。Dashに興奮して布教したいと思っている私ですが、一方ではDashはPython書いてる感ないよねって現実も見えてきたので、次回以降はPythonっぽいことをやりたいかなぁと思っています。

次回(2月15日金曜日)は発表会となりますので、発表でのご参加お待ちしています。おすすめのライブラリとか、なにかやってみたとか、なにかやってみたけど躓いてできないけどどうしましょう?とか色々な切り口でご参加ください。発表参加だと参加費は無料となります(現在、通常は500円)。

次回は場所が変わる可能性が高いですが、最終コンファームが取れていないので、またconnpassをご確認ください!

(この行を消して「チームワーク」を語ってください)

LINE WORKS×はてなブログ特別お題キャンペーン #チームワーク

LINE WORKS×はてなブログ特別お題キャンペーン「#チームワーク」を語ろう!
sponsored by LINE WORKS