- 画像を表示し、音を再生するウェブアプリを作る
- Jupyterノートブックを使ってPythonでデータグラフを作る方法を学ぶ
- Streamlitでデータダッシュボードのウェブアプリを作る
このレッスンのアクティビティ:
ストリームリット
StreamlitとPythonを使ってウェブアプリを作るのは簡単です。ブロックベースのコーディングプラットフォームと同様に、Streamlitプラットフォームには、1行のコードでアプリに追加できるコンポーネントやウィジェットが多数含まれています。ほとんどのコードは既に記述され、パッケージ化されているので、難しいコードに悩まされることなく、アプリのゴールに集中することができます。
Streamlitの使い方を練習するために、ThunkableとApp Inventorで作成したモバイルアプリの例の1つを取り上げ、同じアプリをStreamlitを使ってウェブアプリ形式で作成する方法を紹介します。
アクティビティ1:サウンドボードアプリ
Streamlitウェブ・アプリケーションのコード化
- 下のボタンをクリックして、アプリ制作に必要なアセット(画像や音声ファイル)をダウンロードしてください。
- フォロー ひとつ ボタンを押すと音が鳴るシンプルなサウンドボードアプリを作成するためのビデオです。
- コンピュータでコーディングする場合
PythonとStreamlitをまだインストールしていない場合は、このアクティビティを行う前にExploring Web App Buildersアクティビティを 完了してください。 - オンラインでコーディングする場合
- コンピュータでコーディングする場合
- アプリに4人目の人物を追加します。アプリに追加する画像と短いサウンドファイルを見つけてください。有名なスピーチのリンクです。
データを扱う
Python言語はデータをうまく扱うことができる。Pythonには、コーダーがデータを読み取り、操作し、プロットできるように特別に作られたライブラリがたくさんある。Streamlitプラットフォームと組み合わせれば、コーダーはユーザー向けにデータを分析・表示するアプリを簡単に作ることができる。また、次のステップとして、データセットや機械学習モデルをアプリに組み込むこともできます。
プログラマーやデータサイエンティストの多くは、Pythonでデータを扱う際にノートブックと呼ばれるソフトウェアを使用している。最も人気のあるノートブックのインターフェースの1つが Jupyterノートブック.Kaggle Survey 2022の結果によると、Jupyter Notebookは最も人気のあるデータサイエンス対話型開発環境(IDE)で、回答者の80%以上が使用しています。
Jupyter Notebookはブラウザ上で動作するが、他のインターフェースもある。例えば、Visual Studio Codeに直接統合することができる。
コードを実行するノートブックの背後にあるエンジンは、次のように呼ばれる。 カーネル.Pythonでは、ipythonカーネルを使います。
ノートブックでは、Pythonコードだけでなくテキストも書くことができます。テキストは マークダウン言語を使って書かれます。ノートブックに含まれるコードのヘッダーや説明を追加するには良い方法です。
ノートブックで直接Pythonコードを実行することもできます。
学校で使うような物理的なノートブックに似ているJupyter Notebookは、メモを取ったり、データプロジェクトで考えを整理したり、情報を探索したりするのに最適な方法です。コードを実行する機能が追加されたことで、Pythonコードを管理された組織的な方法で実験できるようになりました。
Jupyter Notebookは、実際のアプリをビルドするためにVisual Code Editorにジャンプする前に、Webアプリのさまざまな側面を計画し、テストするのに役立ちます。
パイソンライブラリ
ウェブ・アプリを構築するために、コード内で使用する必要のあるライブラリーはたくさんある。A ライブラリは、特定のタスクを実行するためにあらかじめ書かれたコードの集まりです。プログラミング・ライブラリは非常に強力で、わずか数行のコードでアプリに強力な機能を持たせることができます。
Pythonの場合、ほとんどのライブラリはまずコンピュータにインストールし、Pythonスクリプト・ファイルで必要なライブラリをインポートする必要がある。
データを使用するために必要なライブラリの例としては、numpyとpandasがある。
パンダを使えば、アプリは大量のデータを簡単に扱うことができる。Pandasはデータをデータフレームと呼ばれるものに格納し、アプリはデータフレームを操作します。 Numpyには、データフレーム内のデータに対して数値演算を実行するための関数が多数用意されています。
さらに、データを可視化するためのプロットやグラフ作成ライブラリも数多く存在する。Pythonで最も人気のある可視化ライブラリは matplotlib, plotlyそして seaborn.
次のアクティビティでは、これらすべてのライブラリを使用します。このアクティビティでは、音楽とメンタルヘルスの調査からデータセットを取り出し、ユーザーが対話できるようにデータをさまざまな方法で表示するデータダッシュボードアプリを作成します。
アクティビティ 2:データダッシュボード
Streamlitウェブアプリの構築
振り返り
おめでとうございます、あなたはStreamlitで2つのウェブアプリケーションを作りました!自問自答してみてください:
主な用語のおさらい
- ジュピターノート - Pythonコーディングでデータを扱う人気のデータサイエンス対話型開発環境
- カーネル- Jupyter Notebooksのエンジンとして動作するプロセス。
- マークダウン言語- 読みやすいようにテキストを簡単にフォーマットできる言語
- ライブラリ- 特定のタスクを実行する、あらかじめ書かれたコードの集まり
追加リソース
ジュピター・ノートブック
- ミスラ・タープのハンズオンデータサイエンスYoutubeプレイリスト
- PythonとPandasによる探索的データ分析アンディ・マクドナルドとプロファイリング
ストリームライト
- Streamlit App Galleryには、ソースコード付きの素晴らしいアプリの例がたくさんあります。
- データプロフェッサーによるPythonで最初のデータサイエンス・ウェブアプリを作る方法-Streamlit
- アンディ・マクドナルドとPythonでStreamlitを始める