1
1

1. はじめに

Streamlitは、Pythonを用いたデータアプリケーションを迅速に構築するためのオープンソースフレームワークだぬ。データサイエンティストや開発者が簡単に美しいUIを持つアプリケーションを作成できることが特徴だぬ。この記事では、Streamlitの基本的な使い方と簡単なデモアプリケーションの作成方法を紹介するだぬ。

2. Streamlitのインストール

StreamlitはPythonのパッケージとして提供されているだぬ。以下のコマンドを実行してインストールしようだぬ。

pip install streamlit

3. 最初のStreamlitアプリ

Streamlitでのアプリ開発は非常にシンプルだぬ。まずは、基本的なアプリを作成してみようぬ。以下のコードをapp.pyとして保存しようだぬ。

import streamlit as st

st.title('Streamlit 入門')

st.write('これはStreamlitアプリのデモだぬ。')

保存した後、コマンドラインで以下を実行しようだぬ。

streamlit run app.py

これで、ブラウザが開き、指定したタイトルとテキストが表示されるStreamlitアプリが起動するだぬ。

実行結果だぬ👇
image.png

4. コンポーネントの追加

Streamlitは多様なウィジェットを提供しており、これらを使ってインタラクティブなアプリケーションを簡単に作成できるだぬ。例えば、ボタンやテキスト入力、グラフ表示などがあるだぬ。以下に、いくつかのウィジェットの使用例を示すだぬ。

st.button('押してくださいだぬ')
st.text_input('あなたの名前を入力してくださいだぬ')
st.slider('あなたの年齢', 0, 100, 25)

先ほどと同様に、ターミナルで以下を実行するだぬ。

streamlit run app.py

実行結果だぬ👇
image.png

5. データの可視化

Streamlitはデータの可視化も簡単に行えるだぬ。以下のコードは、ランダムなデータを生成し、それをグラフとして表示するだぬ。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

# データ生成
data = pd.DataFrame(
  np.random.randn(100, 2),
  columns=['a', 'b']
)

st.line_chart(data)

先ほどと同様に、ターミナルで以下を実行するだぬ。

streamlit run app.py

実行結果だぬ👇
image.png

6. ソースコード最終版

最終的なソースコードは以下の通りだぬ。

import streamlit as st
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

st.title('Streamlit 入門')
st.write('これはStreamlitアプリのデモだぬ。')

st.button('押してくださいだぬ')
st.text_input('あなたの名前を入力してくださいだぬ')
st.slider('あなたの年齢', 0, 100, 25)

# データ生成
data = pd.DataFrame(
  np.random.randn(100, 2),
  columns=['a', 'b']
)

st.line_chart(data)

まとめ

Streamlitを使えば、Pythonのコードのみでデータアプリケーションを手軽に開発できるだぬ。今回は基本的なコンポーネントの使用方法を紹介しただぬが、Streamlitにはさらに多くの機能があるだぬ。公式ドキュメントやコミュニティを活用して、より複雑なアプリケーションの開発に挑戦してみるだぬ。


備考:カワウソ好きな筆者です。
可愛い嘘のカワウソというキャラクターが好きで、それに感化されて文末を「だぬ」にしています。読みにくいかもしれませんが、筆者なりに楽しく執筆をするための工夫ですので、温かい目で見ていただけると嬉しいです。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1