メインコンテンツまでスキップ

Streamlitを使ってデータ分析Webアプリを簡単に作成しよう

津村
開発一部第4課

Streamlitとは

Streamlitは、Pythonで作成されたオープンソースのWebアプリケーションフレームワークです。
データサイエンスや機械学習の分野で、迅速にグラフィカルなWebアプリを構築し、公開するためのツールとして非常に人気があります。
HTMLやCSS、JavaScriptの知識がなくても、Pythonだけで美しいWebアプリケーションを作成できる点が魅力です。

インストール方法

まず、Streamlitをインストールしましょう。
最新のPython環境が整っている前提で、ターミナルより以下のコマンドを実行します。

Terminal
> pip install streamlit

インストールが完了したら、以下のコマンドで簡単なデモを実行してみてください。

Terminal
> streamlit hello

demo-1

demo-2

サンプルコード1:基本的なWebアプリの作成

最初に、基本的なWebアプリケーションを作成してみましょう。
以下のコードを使って、「Hello, Streamlit!」というメッセージを表示するアプリを作成します。

sample_1.py
import streamlit as st

st.title('Hello, Streamlit!')
st.write('これは基本的なWebアプリケーションの例です。')

「***.py」ファイルはPythonスクリプトと呼ばれ、Pythonコードが書かれたテキストファイルです。
インタプリタがこのファイルを読み込んで実行し、これにより、Pythonプログラムやスクリプトとして動作します。
上記のコードをsample_1.pyとして保存し、以下のコマンドで実行します。

Terminal
> streamlit run sample_1.py

ブラウザに「Hello, Streamlit!」というタイトルとメッセージが表示されれば成功です。 sample_1

サンプルコード2:データフレームの表示

次に、Pandasデータフレームを表示する方法を紹介します。
以下のコードでは、簡単なデータフレームを作成し、それをWebアプリ上に表示します。

sample_2.py
import streamlit as st
import pandas as pd

data = {
'列1': [1, 2, 3, 4],
'列2': [10, 20, 30, 40]
}
df = pd.DataFrame(data)

st.title('データフレームの表示')
st.write('以下はPandasデータフレームの例です。')
st.write(df)

同様にsample_2.pyとして保存し、以下のコマンドで実行します。

Terminal
> streamlit run sample_2.py

これにより、データフレームが表形式で表示されます。データの視覚化に非常に便利です。 sample_2

サンプルコード3:インタラクティブなウィジェット

最後に、インタラクティブなウィジェットを追加してみましょう。
以下のコードでは、ユーザーが選択したオプションに基づいてメッセージを変更します。

sample_3.py
import streamlit as st

st.title('インタラクティブなウィジェット')

option = st.selectbox(
'好きなフルーツを選んでください。',
['アップル', 'バナナ', 'オレンジ']
)

st.write('あなたの好きなフルーツは', option, 'です。')
Terminal
> streamlit run sample_3.py

このコードを実行すると、ドロップダウンメニューからフルーツを選ぶことができ、選択に応じてメッセージが更新されます。 sample_3-1 sample_3-2

まとめ

Streamlitは、シンプルかつ強力なWebアプリケーションフレームワークであり、Pythonのみを使用してデータ分析や機械学習のアプリケーションを迅速に作成できます。
今回紹介したサンプルコードを参考に、ぜひ自分のプロジェクトにStreamlitを取り入れてみてください。