「Streamlit」のコラム

トップページ>「Streamlit」のコラム

Pythonで爆速Webアプリ開発!Streamlit入門

「PythonでWebアプリを作りたいけど、HTMLやCSS、JavaScriptはちょっと…」そんな風に思っているあなたに朗報です! Pythonのライブラリ Streamlit を使えば、驚くほど簡単にWebアプリを開発できます。面倒なフロントエンドの知識はほぼ不要! Pythonのコードを書くだけで、インタラクティブなWebアプリケーションが完成します。

Streamlitとは?

Streamlitは、データサイエンティストや機械学習エンジニアが、自分の作ったモデルや分析結果を簡単に共有できることを目指して開発されたライブラリです。 特徴は以下のとおりです。

  • シンプルで直感的: Pythonの知識があればすぐに使いこなせます。
  • インタラクティブ: スライダー、ボタン、セレクトボックスなど、様々なUI要素を簡単に配置できます。
  • ライブリロード: コードを保存すると自動的にアプリが更新されるので、開発がスムーズに進みます。
  • コンポーネント豊富: グラフ表示、地図表示、画像処理など、様々な機能がコンポーネントとして提供されています。
  • クラウドデプロイ: Streamlit Cloudなどを使えば、簡単にWeb上に公開できます。

Streamlitで何ができるの?

Streamlitは、以下のような用途に最適です。

  • データ可視化: pandasのDataFrameやmatplotlibのグラフなどをインタラクティブに表示できます。
  • 機械学習モデルのデモ: 自分で作った機械学習モデルの予測結果を、Web上で試せるようにできます。
  • ダッシュボード作成: データの集計結果やKPIをリアルタイムに表示するダッシュボードを作成できます。
  • 社内ツール開発: 簡単な入力フォームや、データ処理を行うWebアプリを短時間で開発できます。

Streamlitを試してみよう!

Streamlitを使うための準備は簡単です。 ターミナルで以下のコマンドを実行してインストールします。

pip install streamlit

インストールが完了したら、簡単なサンプルコードを書いてみましょう。 my_app.py というファイルを作成し、以下のコードを記述します。

import streamlit as st
import pandas as pd

st.title('初めてのStreamlitアプリ')

st.write('これは簡単なStreamlitアプリです。')

# DataFrameを作成
data = {'名前': ['Alice', 'Bob', 'Charlie'],
        '年齢': [25, 30, 28],
        '都市': ['Tokyo', 'New York', 'London']}
df = pd.DataFrame(data)

# DataFrameを表示
st.write('DataFrame:')
st.dataframe(df)

# スライダーを作成
age = st.slider('年齢を選択してください', 0, 100, 25)
st.write('選択された年齢:', age)

# ボタンを作成
if st.button('こんにちは!'):
    st.write('こんにちは!')

このコードを保存したら、ターミナルで以下のコマンドを実行してアプリを起動します。

streamlit run my_app.py

ブラウザが自動的に開き、Streamlitアプリが表示されます。 コードを変更して保存すると、アプリが自動的に更新されることを確認してみてください。

コード解説

上記のサンプルコードについて、簡単に解説します。

  • import streamlit as st: Streamlitライブラリをインポートし、stという名前で使えるようにします。
  • st.title('初めてのStreamlitアプリ'): アプリのタイトルを表示します。
  • st.write('これは簡単なStreamlitアプリです。'): テキストを表示します。 st.write() は、様々な型のデータを表示できる便利な関数です。
  • st.dataframe(df): pandasのDataFrameをテーブルとして表示します。
  • st.slider('年齢を選択してください', 0, 100, 25): スライダーを作成します。 引数には、ラベル、最小値、最大値、初期値を指定します。
  • st.button('こんにちは!'): ボタンを作成します。 ボタンがクリックされると、st.button()True を返します。

まとめ

Streamlitを使うことで、Web開発の知識がなくても、PythonだけでインタラクティブなWebアプリを簡単に作成できます。 データサイエンスや機械学習の分野だけでなく、様々な用途で活用できるでしょう。 ぜひStreamlitを試して、Webアプリ開発の楽しさを体験してみてください! Streamlitの公式ドキュメント(https://streamlit.io/docs)には、さらに詳しい情報や、様々なコンポーネントの使い方が記載されています。





【mei_13のPython講座】
◯月額4,000円で質問し放題!!
◯完全オンライン
◯翌日までには必ず返信
◯挫折しない独自の学習メソッド
◯圧倒的高評価!!
◯テキストベースで時間を選ばない
詳細はこちら
興味がある方はまず質問だけでもどうぞ!




< 画像認識
lambda式 >







コラム一覧

if文
for文
関数
配列
文字列
正規表現
ファイル入出力
openpyxl
Numpy
Matplotlib
Pandas
scikit-learn
seaborn
beautifulsoup
tkinter
OpenCV
pygame
メイン関数
自作ライブラリ
画像処理
機械学習
スクレイピング
データ分析
グラフ作成
API
可読性
デバッグ
例外処理
コメント
組み込み関数
flask
学び方
ビット演算
マルチスレッドプログラミング
参照渡し
pyenv
エディタ
生成AI
画像認識
Streamlit
lambda式
物理演算シミュレーション
命名規則
遺伝的アルゴリズム
関数型プログラミング
オブジェクト指向
ツリー図
Anaconda
Google Colaboratory
PyTorch
NLTK
音声処理
yt-dlp
組み込み開発
データベース操作
iclawler
PyCaret
pickle
plotly
polars
Mecab
乱数
PyInstaller
MySQL
Pip
sys.argv
データ型
secrets
MediaPipe
YOLO
ソート