こんにちは、JS2IIUです。
Pythonを使ってサクッと簡単にインタラクティブなウェブアプリケーションを作成できるフレームワーク、それがStreamlitです。本記事では、Streamlitの基本的な使い方を解説し、初めてのアプリケーション作成から主要な機能の活用方法までを紹介します。サッと読み進めれば5分でウェブアプリケーションをスタートさせることができます。今回もよろしくお願いします。
Streamlitとは?
Streamlitは、データサイエンスや機械学習モデルのデモ、プロトタイピングに最適なツールです。その特徴として、以下の点が挙げられます。
- 簡単な操作: Pythonコードだけでアプリケーションを構築可能。
- データ可視化: グラフやデータフレームを簡単に表示。
- インタラクティブ性: ユーザー入力を受け付けるウィジェットが豊富。
Streamlit • A faster way to build and share data apps
Streamlit is an open-source Python framework for data scientists and AI/ML engineers to deliver interactive data apps – in only a few lines of code.
インストール
Streamlitを始めるには、Python環境を準備し、以下のコマンドを実行してインストールします。
Bash
pip install streamlit初めてのアプリケーション
以下のコードを使って、簡単なStreamlitアプリを作成してみましょう。
Python
# streamlit_app.py
import streamlit as st
st.title("Hello, Streamlit!")
st.write("これは初めてのStreamlitアプリです!")コード解説: 初めてのアプリケーション
import streamlit as st:
- Streamlitライブラリをインポートします。
stはStreamlitのエイリアスとして使用されます。
st.title("Hello, Streamlit!"):
- アプリケーションのタイトルを設定します。このタイトルはページの上部に大きく表示されます。
st.write("これは初めてのStreamlitアプリです!"):
- テキストを画面に表示します。
st.writeは、文字列やデータフレーム、グラフなど、さまざまなデータを表示するために使用されます。
実行方法
ターミナルで以下のコマンドを実行します。
Bash
streamlit run streamlit_app.pyブラウザが自動的に開き、アプリが表示されます。
主な機能
Streamlitには、アプリケーションをより便利にするための多くの機能が用意されています。以下にその一部を紹介します。
1. ユーザー入力
ユーザーからの入力を受け付けるウィジェットを簡単に作成できます。
Python
name = st.text_input("名前を入力してください:")
st.write(f"こんにちは、{name}さん!")コード解説: ユーザー入力
st.text_input("名前を入力してください:"):
- テキスト入力フィールドを作成します。ユーザーが入力した値は
name変数に格納されます。
st.write(f"こんにちは、{name}さん!"):
- 入力された名前を使用して、挨拶メッセージを表示します。
2. データフレームの表示
データフレームを視覚的に表示するのも簡単です。
Python
import pandas as pd
data = {
"列1": [1, 2, 3],
"列2": [4, 5, 6]
}
df = pd.DataFrame(data)
st.dataframe(df)コード解説: データフレームの表示
import pandas as pd:
- Pandasライブラリをインポートします。データフレームを操作するために使用されます。
data = {"列1": [1, 2, 3], "列2": [4, 5, 6]}:
- データを辞書形式で定義します。
df = pd.DataFrame(data):
- 辞書データをPandasデータフレームに変換します。
st.dataframe(df):
- データフレームをアプリケーション上に表示します。列の並び替えやフィルタリングが可能です。
3. グラフの描画
Matplotlibやその他のライブラリを使って、グラフを描画できます。
Python
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y = np.sin(x)
fig, ax = plt.subplots()
ax.plot(x, y)
st.pyplot(fig)コード解説: グラフの描画
import matplotlib.pyplot as plt:
- Matplotlibライブラリをインポートします。グラフを描画するために使用されます。
import numpy as np:
- NumPyライブラリをインポートします。数値計算やデータ生成に使用されます。
x = np.linspace(0, 10, 100):
- 0から10までの範囲で100個の等間隔のデータポイントを生成します。
y = np.sin(x):
xの値に対応する正弦波を計算します。
fig, ax = plt.subplots():
- Matplotlibの図と軸を作成します。
ax.plot(x, y):
xとyのデータをプロットします。
st.pyplot(fig):
- 作成したグラフをStreamlitアプリケーション上に表示します。
まとめ
Streamlitを使えば、Pythonの知識だけで簡単にウェブアプリケーションを作成できます。データサイエンスや機械学習のプロジェクトでその力を発揮すること間違いなしです。ぜひ試してみてください!
参考
本ブログではStreamlitに関する記事をいくつか書いています。こちらから記事の一覧を表示できます。
Streamlit
PythonのWEBフレームワークであるStreamlitについての記事を集めたページです。
最後まで読んでいただきありがとうございます。
ご意見、ご感想、ご質問は是非コメント欄へお願いします。

