「Streamlit」とは、Pythonベースのデータサイエンス領域に有用なフレームワークです。現在、PythonはAI領域でのプログラミング言語として注目を集めています。そこで、今回はStreamlitの概要やインストール方法、サンプルコードをご紹介します。
Streamlitとは?
Streamlitとは、PythonでWebアプリケーションを作成するためのフレームワークです。
データサイエンティストやAIエンジニア向けに開発されており、バックエンド開発の知識がなくてもPythonのコードを数行書くだけで、気軽にデモ用のアプリを作成することができるのが特徴です。
\21万以上のオンラインコースから選べる!/
Udemyで講座を探す特徴と利用用途
Streamlitの一番の特徴は手軽に開発できることです。
最短一行のコードでWebアプリを開発でき、アプリのデプロイも簡単に可能です。
WebUIを簡単に作成できるため、アプリがひとまず動くかどうかを素早く確認したい場合に適しています。また、コードも直感的に理解することができます。
HTMLやCSSなどの知識を要することなくデータの可視化が可能です。主にデータサイエンス領域で、値を動的に変更するWebアプリに用いられることが多いです。
実行例を呼び出すコマンドが準備されていたり、公式ドキュメントが充実していたりするのでとても学習しやすいのも特徴です。Streamlitは簡易的な機能に限られるため、本格的なWebアプリを開発したい場合はDjangなどの別のフレームワークを使用しましょう。
Djangoについては「 Django(ジャンゴ)とは?Pythonのフレームワークを活用し、Web開発に役立てよう 」で詳しく解説しています。
Streamlitの基本操作を確認
ここではStreamlitの基本的な操作を確認していきます。
インストールとデモ環境の確認
ここでは、Pythonがインストールされた環境を前提として説明していきます。
環境構築については「 Pythonの開発環境はどうすればいい?統合開発環境もまとめて解説!」で詳しく解説しています。
VScodeのターミナルを開き以下のコマンドを実行してインストールを行います。
1 |
<strong># pip install streamlit</strong> |
以下はインストールが完了した時の画面です。
anacondaで仮想環境を構築してからインストールする場合は以下のコマンドを実行します。
1 |
<strong># conda install -c conda-forge streamlit -y</strong> |
次にサンプルアプリを実行してみます。
以下のコマンドを実行し、デモ環境を立ち上げます。
1 |
<strong># streamlit hello</strong> |
実行すると以下のように表示されブラウザが立ち上がります。
ブラウザを開くと以下の画面が表示されます。
画面左の Select a demo above から様々なサンプルアプリを確認できます。
最後にアプリを作ってみます。まずは、公式ドキュメントを確認してみましょう。
上記画像、赤枠のComponentsでStreamlitの拡張機能を確認できます。サードパーティのモジュールを利用することでより効率的にWebアプリを作成できるのでぜひ利用していきましょう。
事前準備としてapp.pyというファイルを作成してください。作成後、以下のソースコードを記述しましょう。
2行の簡単なコードです。
1 2 3 |
import streamlit as st st.title("hello") |
2行の簡単なコードです。コードの作成が完了したらターミナルで以下のコマンドを実行しましょう。
1 |
# streamlit run app.py |
実行するとご覧のページが表示されます。
テキストを表示する
テキストを表示するには下記コマンドを実行し、Streamlitをインポートします。タイトル、ヘッダー、通常テキストのほか、マークダウンも書くことができます。下記例文となります。
1 2 3 4 5 6 |
タイトル:st.title() ヘッダー:st.header() テキスト:st.text() マークダウン:st.markdown() 実行する際は以下のコマンドを実行します。 # streamlit run ファイル名 |
ウィジェットを表示する
チェックボックスやメニューリスト、テキスト入力フォームなどのウィジェットも簡単に表示することができます。
1 2 3 4 5 6 7 8 9 10 11 |
import streamlit as st st.button('ボタン') st.selectbox('コンボボックス',('選択1','選択2')) st.checkbox('チェックボックス') st.radio('ラジオボタン',('ラジオボタン1','ラジオボタン2')) st.date_input('日付インプット') st.text_input('インプットボックス') st.text_area('テキストエリア') st.selectbox("メニューリスト", ("選択肢1", "選択肢2", "選択肢3")) st.multiselect("メニューリスト(複数選択可)", ("選択肢1", "選択肢2", "選択肢3")) |
Streamlitでグラフを可視化してみよう!
ここではStreamlitでグラフを描画する方法をご紹介します。
簡単な表やグラフを表示する
以下のコマンドでPandasをインポートします。
1 |
<strong># import pandas as pd</strong> |
StreamlitではPnadasのDataFrameを表形式やグラフ形式で簡単に表示できます。
表形式で表示:st.dataframe() (動的) ,st.table() (静的)など
グラフ形式で表示:st.line_chart() (線グラフ) , st.var_chart() (棒グラフ)
Pandasについては「 【Pandas入門】Pythonのデータ分析ライブラリ「Pandas」を解説! 」で詳しく解説しています。
Matplotlibでより凝ったグラフを表示する
より自由度の高いグラフを作成して表示したい場合はMatplotlibを用いてグラフを作成しましょう。
以下のコマンドを実行し、Matplotlibをインポートします。
1 |
<strong># import matplotlib as plt</strong> |
Matplotlibにてグラフの詳細を設定し、以下の関数の引数に作成したグラフを与えればグラフが表示されます。
st.pyplot()
Matplotlibについては「Pythonでグラフ描画する方法を解説。Matplotlibを使えば簡単!」で詳しく解説しています。
この記事ではPythonベースのデータサイエンス領域に有用なフレームワークである、Streamlitの特徴や用途についてご紹介しました。
Streamlitは短いコードを記述することで、Webアプリを構築し動作確認することのできる便利さを持っています。
短納期化が進むWeb業界では開発スピードの速さが求められますので、導入を検討してみてはいかがでしょうか。
最新情報・キャンペーン情報発信中