Pythonの基礎を学んだらWEBアプリで実務に活かそう!Streamlit入門
Pythonの基礎を習得したものの、その知識をどう活かせば良いか悩んでいませんか? そんなあなたにおすすめなのがStreamlitです。Streamlitは、Pythonを使って簡単にインタラクティブなWEBアプリを作成できるフレームワークです。データ分析結果の可視化や共有、社内ツール作成など、実務で役立つアプリを開発できます。
今回は、Streamlitを使って簡単なWEBアプリを作成し、基本的な使い方を解説していきます。
Streamlitとは
Streamlitは、Pythonで記述したコードをわずか数行でWEBアプリに変換できるフレームワークです。HTMLやCSS、JavaScriptなどのフロントエンドの知識は不要で、Pythonのみで開発できます。Streamlitはデータサイエンティストや機械学習エンジニアが、分析結果を簡単に共有するためのツールとして人気があります。
Streamlitのインストール
まずはStreamlitと、データ分析に必須のライブラリであるPandasをインストールしましょう。仮想環境を作成済みという前提で進めます。
pip install streamlit pandas
簡単なWEBアプリを作成
それでは、Streamlitを使って簡単なWEBアプリを作成してみましょう。今回は、サンプルデータを用いて棒グラフを表示するアプリを作ります。
1. コード
以下のコードを app.py というファイル名で保存します。
import streamlit as st
import pandas as pd
# pip install streamlit pandas
st.set_page_config(page_title="Streamlit")
st.markdown("## WEBアプリを作って実務に活かそう!")
st.write("WEBアプリであればチームや組織で共有ができます。")
# データの表示
df = pd.DataFrame({
"数量": [10, 20, 30],
"金額": [50, 100, 150],
}, index=["名古屋", "大阪", "新宿"])
st.dataframe(df)
# グラフの表示
st.bar_chart(df, y="金額") # x軸は指定しない場合index
2. アプリの実行
コマンドプロンプトで、仮想環境に入った状態で以下のコマンドを実行します。
streamlit run app.py
コマンドを実行すると、ブラウザが自動的に開き、ローカルホストでアプリが起動します。
3. アプリの内容
このアプリでは、以下の処理を行っています。
st.set_page_config(page_title="Streamlit") : ブラウザのタブに表示されるタイトルを設定
st.markdown("## WEBアプリを作って実務に活かそう!") : マークダウン形式でタイトルを表示
st.write("WEBアプリであればチームや組織で共有ができます。") : テキストを表示
df = pd.DataFrame(...) : pandas DataFrameでサンプルデータを作成
st.dataframe(df) : DataFrameの内容を表形式で表示
st.bar_chart(df, y="金額") : DataFrameのデータに基づいて棒グラフを表示
Streamlitの機能紹介
今回作成したアプリは、Streamlitの機能のほんの一部です。Streamlitには、以下のような機能があります。
インタラクティブなウィジェット: スライダー、ボタン、チェックボックス、テキスト入力などのウィジェットを簡単に追加できます。
データの可視化: Matplotlib、Seaborn、Plotlyなどのライブラリを使用して、様々な種類のグラフを作成できます。
メディアの表示: 画像、動画、音声などをアプリに埋め込むことができます。
外部データの連携: CSV、Excel、データベースなどの外部データを読み込んで処理することができます。
アプリのデプロイ: Streamlit Community Cloudという無料のサーバーにアプリを簡単にデプロイできます。
学習方法
Streamlitを効率的に学習するには、以下の方法がおすすめです。
公式ドキュメント: https://docs.streamlit.io/
チュートリアル: https://docs.streamlit.io/library/get-started/create-an-app
サンプルコード: https://github.com/streamlit/streamlit/tree/develop/examples
コミュニティ: https://discuss.streamlit.io/
YOUTUBEチャンネル 使えるPythonアプリ:
最後に
今回は、Streamlitの基本的な使い方を紹介しました。Streamlitは、Pythonの知識を活かして実務で役立つWEBアプリを簡単に作成できる強力なツールです。ぜひStreamlitを習得して、業務効率化やデータ分析に役立ててください。