この記事が目に留まり、Streamlitを知ったので、使ってみた。 Pythonで簡単にWebアプリの画面が出来ちゃう
Streamlit(ストリームリット)
Streamlitは、データ分析型のWebアプリケーションフレームワークとして広く利用されている。
簡単なコーディングでGUIを作成できる。
インストール
streamlitをインストールして、streamlit hello
を実行すると、ブラウザが立ち上がりサンプルを確認できる。
pip install streamlit streamlit hello
チュートリアルをやってみる
下記のコードをuber_pickups.pyで作成し、streamlit run uber_pickups.py
を実行するとブラウザに画面が表示される。
import streamlit as st import pandas as pd import numpy as np st.title("Uber pickups in NYC")
Numpyでヒストグラムのデータを生成し、st.bar_chart
関数を使うだけで、ヒストグラムが表示できる。
hist_values = np.histogram(data[DATE_COLUMN].dt.hour, bins=24, range=(0, 24))[0] st.bar_chart(hist_values)
mapにもプロットできる。
st.slider
を使って、スライダーも表示可能。
ラベルと最小、最大、デフォルト値を設定する。
hour_to_filter = st.slider('hour', 0, 23, 17) # min: 0h, max: 23h, default: 17h
チェックボックスを使って、データの表示/非表示もできる。
ページの遷移の設定も可能。チュートリアルも存在するが、ここでは割愛する。
最後に
たた数行でグラフやマップも表示できるし、他にも入力フォームもPythonだけで出来てしまう。
PySimpleGUIも同じように数行で画面が作成できるけど、PySimpleGUIよりも今どきなWebアプリの画面ができるので、凄いなと感じた。
次回は、入力フォームからデータの登録とグラフの表示をしてみる。