どうも、月見(@Suzuka14144156)です。
今回の記事では、PythonのライブラリであるStreamlitについて解説したいと思います。
よって、この記事では、このような悩みをお持ちの方におすすめです。
- Streamlitとは?
- Streamlitのインストール方法は?
- Streamlitってどのように使うの?
- まずは、Streamlitの環境を整えて、動作させてみる
- 動作させてみて、体感することで感触を得る
- そうすることで、どのようなライブラリなのか、何が優れているのか?という点を把握することができると思います
Streamlitとは?
- Web アプリを数分で立ち上げることができるPythonのライブラリです
以下の動画が分かりやすいかと思います。
Streamlitを利用すると、以下のようなダッシュボードが作成可能です。
またWebに公開することも比較的容易に実現することができます。
具体的なイメージは、以下のリンク先から確認可能です。
Streamlitのメリット
- Pythonのみで記述できる(HTML,CSSは不要)
- これまで作成したpyコードや、jupyternotebookを利用できること
- デプロイ~公開までが簡単
とにかくクイックにできるのが非常に魅力です。
Streamlitが動作するまでの流れ
Streamlitが動作するまでの流れとしては、主に以下3つのステップを踏みます。
- Streamlitのインストール
- コーディング
- コマンドプロンプトから「streamlit run 〇〇.py」で確認
Streamlitのインストール方法
Streamlitは、Pythonのライブラリなので、Pythonの環境を整える必要があります。
Pythonのインストール方法は、以下の記事を参考にしてみてください。
参考:【初心者向け】どうやるの?Pythonのインストール方法
pip
以下のコードをコマンドプロンプトから入力することでインストールが可能です。
pip install streamlit
Anaconda
Anaconda環境の方は、以下のコードをコマンドプロンプトから入力することでインストールが可能です。
conda install -c conda-forge streamlit
そもそもAnacondaをインストールしていないという方は、以下の記事を参考ください。
参考:Python Anacondaとは?|インストール〜Jupyter Notebookの立ち上げ
Streamlitの始め方
Streamlitのインストール完了後、以下のコマンドをコマンドプロンプトから入力ください。
streamlit hello
すると以下の画面が現れます。とりあえず何も入力しないでエンターキーを押します。
すると、Webブラウザに以下の画面が表示されるかと思います。
この画面が出力されれば、インストールは成功しています。
Streamlitの使い方の具体例
ウーバーのNYでのピックアップ状況を可視化するサイトを作ってみましょう。
以下のコードを適当なフォルダを作って、格納してください。
import streamlit as st
import pandas as pd
import numpy as np
st.title('Uber pickups in NYC')
DATE_COLUMN = 'date/time'
DATA_URL = ('https://s3-us-west-2.amazonaws.com/'
'streamlit-demo-data/uber-raw-data-sep14.csv.gz')
@st.cache_data
def load_data(nrows):
data = pd.read_csv(DATA_URL, nrows=nrows)
lowercase = lambda x: str(x).lower()
data.rename(lowercase, axis='columns', inplace=True)
data[DATE_COLUMN] = pd.to_datetime(data[DATE_COLUMN])
return data
data_load_state = st.text('Loading data...')
data = load_data(10000)
data_load_state.text("Done! (using st.cache_data)")
if st.checkbox('Show raw data'):
st.subheader('Raw data')
st.write(data)
st.subheader('Number of pickups by hour')
hist_values = np.histogram(data[DATE_COLUMN].dt.hour, bins=24, range=(0,24))[0]
st.bar_chart(hist_values)
# Some number in the range 0-23
hour_to_filter = st.slider('hour', 0, 23, 17)
filtered_data = data[data[DATE_COLUMN].dt.hour == hour_to_filter]
st.subheader('Map of all pickups at %s:00' % hour_to_filter)
st.map(filtered_data)
以下のようにします。
- cmdと入力し、エンター
するとコマンドプロンプトが開きます。
streamlit run main.py
と入力し、エンターキーを押すと、Webブラウザが開きます。
これで、一連の流れが完了です。
Streamlit関連の参考書や講座
Streamlitの参考書は、以下がオススメです。
Streamlitを扱うには、基本的なPythonのコード知識が必要です。
その場合は、以下の書物がオススメです。
Udemyのオンライン講座は、以下がオススメです。
Udemyは買い切りなので、一度購入してしまえば、何度でも閲覧できるのでオススメです。
Streamlitの公式ドキュメント
今回解説した内容は、以下の公式サイトを参考にしています。
Streamlit Share(Sharing)を使ってWebアプリを作成・公開する方法
Streamlit Share(Sharing)を使ってWebアプリを作成・公開する方法については、以下の記事を参考にしてみてください。
参考:Streamlit Share(Sharing)を使ってWebアプリを作成・公開する方法
まとめ
今回の記事では、PythonのライブラリであるStreamlitについて解説しました。
Streamlitとは、以下です。
- Web アプリを数分で立ち上げることができるPythonのライブラリです
とても簡単に実装できるので、オススメです。
ぜひ参考にしてみてください。
コメント