わずか数行のコードで最初のウェブアプリを作成

わずか数行のコードで最初のウェブアプリを作成

データ サイエンス プロジェクトの展開は、データ サイエンティストと機械学習エンジニアの両方に必要な重要なスキルです。機械学習モデルを展開する従来の方法は、Django や Flask などの確立されたフレームワークを使用することです。ただし、この方法は非常に時間がかかり、困難な場合が多くあります。もっと簡単な方法はありますか?

[[332557]]

株価ウェブアプリの概要

ここでは、Python ライブラリ streamlit と yfinance を使用して、株価と株式取引量を表示するシンプルな Web アプリを構築します。このアプリは理論的には yfinance ライブラリを使用して Yahoo Finance から過去の市場データを取得し、そのデータをデータ フレームに保存し、最後に streamlit の入力パラメータとして折れ線グラフを表示します。

必要なライブラリをインストールする

このチュートリアルでは、インストールする必要がある 2 つの Python ライブラリ、streamlit と yfinance を使用します。 Streamlit は、pip install コマンドを使用して簡単にインストールできます。

  1. pip インストール streamlit

同様に、次のコマンドを実行して yfinance のインストールを完了します。

  1. pip インストール yfinance

ウェブアプリコード

Web アプリを構築するためのコードの合計は 20 行未満で、コメントを除けば 14 行だけです。

  1. yfinance を yf としてインポートします
  2. streamlit を st としてインポートする
  3.   
  4. st.write("""
  5. # シンプルな株価アプリ
  6. Googleの株価終値と出来高を表示しています。
  7. """)
  8.   
  9. # https://towardsdatascience.com/how-to-get-stock-data-using-python-c0de1df17e75
  10. #ティッカーシンボルを定義する
  11. ティッカーシンボル= 'GOOGL'  
  12. #thisticker のデータを取得
  13. ティッカーデータ= yf.Ticker (ティッカーシンボル)
  14. #このティッカーの過去の価格を取得する
  15. tickerDf = tickerData .history(期間= '1d' 開始= '2010-5-31' 終了= '2020-5-31' )
  16. # 始値 高値 安値 終値 出来高 配当 株式分割
  17.   
  18. st.line_chart(tickerDf.Close)
  19. st.line_chart(ティッカーDf.ボリューム)

コードを1行ずつ説明する

それでは、上記のコードを詳しく見てみましょう。

  • 1 行目と 2 行目 - yf という名前の yfinance と st という名前の streamlit を入力します。
  • 4 行目から 7 行目 - st.write() 関数を使用して、テキスト コンテンツをマークダウン形式で出力します。
  • 9 行目から 16 行目 — yfinance ライブラリを使用して、Yahoo Finance から過去の市場データを取得します。
  • 行 11 - 株価シンボルを GOOGL として定義します。
  • 行 13 - yf.Ticker() 関数を使用して tickerData 変数を作成します。この変数には、名前が示すように、株式コード データが含まれます。 tickerDataは株式コードオブジェクトであることに注意してください。tickerDataをコマンドとして実行すると、次の出力が得られます: yfinance.Tickerオブジェクト
  • 行 15 — tickerDf データ フレームを作成し、日付範囲 (2010 年 5 月 31 日から 2020 年 5 月 31 日まで) と期間 (1 日) を定義します。
  • 18 行目から 19 行目 - st.line_chart() 関数を使用して線形チャートを描画します (終値データは、コードの 15 行目に定義されている tickerDf データ フレームの終値データと出来高データから取得されます)。

ウェブアプリの実行

コードを myapp.py というファイルに保存した後、コマンド プロンプト (または Microsoft Windows の場合は PowerShell) を起動し、次のコマンドを実行します。

  1. streamlit で myapp.py を実行する

すると、次の情報が表示されます。

  1. > streamlit run myapp.py これで、ブラウザでStreamlitアプリを表示できます。ローカルURL: http://localhost:8501
  2. ネットワーク URL: http://10.0.0.11:8501

すぐに Web ウィンドウがポップアップ表示されるので、以下に示すように、http://localhost:8501 にある作成された Web アプリに直接ジャンプします。

株価ウェブアプリのスクリーンショット

ビンゴ! Python を使用して最初の Web アプリを正常に作成できました。

カスタムウェブアプリ

上記は基本的な内容ですが、カスタム Web アプリをもっと面白くしたい場合はどうすればよいでしょうか?

  1. yfinance を yf としてインポートします
  2. streamlit を st としてインポートする
  3.   
  4. st.write("""
  5. # シンプルな株価アプリ
  6. Google の株価**終値**と***取引量***が表示されます。
  7. """)
  8.   
  9. #https://towardsdatascience.com/how-to-get-stock-data-using-python-c0de1df17e75
  10. #ティッカーシンボルを定義する
  11. ティッカーシンボル= 'GOOGL'  
  12. #thisticker のデータを取得
  13. ティッカーデータ= yf.Ticker (ティッカーシンボル)
  14. #このティッカーの過去の価格を取得する
  15. tickerDf = tickerData .history(期間= '1d' 開始= '2010-5-31' 終了= '2020-5-31' )
  16. # 始値 高値 安値 終値 出来高 配当 株式分割
  17.   
  18. st.write("""
  19. ## 終値
  20. """)
  21. st.line_chart(tickerDf.Close)
  22. st.write("""
  23. ## 音量
  24. """)
  25. st.line_chart(ティッカーDf.ボリューム)

少し時間を取って上記のコードを理解してみましょう。

  • 6 行目 - ここでは、「closing price」の前後に 2 つのアスタリスクを使用して、「closing price」という単語を太字にする必要があることに注意してください (以下を参照)。**closingprice**。また、「volume」は斜体で太字になっており、前後に 3 つのアスタリスクが付きます (例: ***volume***)。
  • 行 18 ~ 20 および 22 ~ 25 - 終値と出来高のチャートの上にマークダウン形式のタイトルを追加します。
  • 更新されたウェブアプリのスクリーンショット

成功しました。これで、Web アプリは自動的に更新されます。最初の Web アプリを構築するのはとても簡単です。ぜひ試してみてください。

<<:  200以上の機械学習ツールを見て学んだこと

>>:  AIとIoTが公共交通機関をよりスマートかつ安全に

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

4分でノーベル賞の再現に成功! CMU は化学研究を覆す GPT-4 化学者、自律コーディング、ロボット制御を開発し、Nature に発表

ChatGPT モデルは今年人気となり、予想外に化学の分野全体を覆しました。まず、Google De...

...

ChatGPTが使用する機械学習技術

著者 |ブライト・リャオ「プログラマーから見たChatGPT」の記事では、開発者のChatGPTに対...

デジタル経済の発展を深め、人工知能時代の開放性と革新性を把握する

最近、ファーウェイの副社長兼コンピューティング製品ラインのプレジデントである鄧太華は、Huawei ...

2020 年の予測: 今年はサイバー犯罪サービスが普及する年になるか?

業界メディアeWEEKの2020年の予測:人工知能と機械学習の「中毒」についての予測も見られ、これが...

夜もカラフルに、ディープラーニングでフルカラー暗視システムを実現

いくつかの軍事大作映画では、兵士が暗視ゴーグルを装着して前方を捜索するシーンは欠かせないようです。暗...

AIoT はセキュリティ業界にどのような影響を与えますか?

進化し続けるテクノロジーの世界における最新のトレンドやイノベーションを追い続ける中で、私たちが注目...

FacebookはVRキーボードを使ってデータを入力する方法を開発中

海外メディアの報道によると、仮想現実(VR)でオフィスワークを遂行するのは容易ではないという。本当に...

機械学習の実践: Spark と Python を組み合わせるには?

Apache Sparkはビッグデータの処理や活用に最も広く使われているフレームワークの一つであり...

AWS が Amazon SageMaker の 9 つの新機能をリリース

12 月 9 日、Amazon Cloud Service (AWS) が開催する年次イベント AW...

コロナウイルスのパンデミックはデジタル音声技術に新たな刺激を与えた

突然、タッチを恐れるようになった世界で、音声テクノロジーはまったく新しい様相を呈し始めています。 [...

Qinglang RoboticsがCIIEの「ブラックテクノロジー」を体験していただきます

浦江の潮が満ち、第3回中国国際輸入博覧会が開幕!「人工心肺」「88カラットのブラックダイヤモンド」「...

住宅地に顔認識システムを設置する前に、5つの主要なセキュリティの質問に答えてください

誰のため?なぜ?コミュニティ顔認識システム導入の需要の源と目的多くの居住コミュニティが顔認識システム...

注目の開発スキル5つについて学ぶ

[[277303]] [51CTO.com クイック翻訳] 開発者は人気のある仕事の 1 つであり、...