لینک کوتاه مطلب : https://hsgar.com/?p=3053

چگونه با Jupyter Notebook یک داشبورد در پایتون ایجاد کنیم؟

آیا می خواهید یک داشبورد داده در 9 خط کد پایتون بسازید؟ من به شما نشان خواهم داد که چگونه با Jupyter Notebook یک داشبورد در پایتون ایجاد کنید. داشبورد اطلاعاتی را در مورد سهام برای علامت انتخاب شده (جدول داده ها و نمودار) ارائه می دهد. این نوت بوک به صورت وب اپلیکیشن منتشر خواهد شد. من از یک منبع باز استفاده خواهم کرد Mercury چارچوبی برای تبدیل نوت بوک پایتون به برنامه وب تعاملی.

نسخه ی نمایشی داشبورد مالی که در پایتون با Jupyter Notebook ایجاد شد و با آن منتشر شد Mercury:

داشبورد مالی در پایتون با نوت بوک Jupyter

داشبورد به صورت آنلاین در دسترس است dashboard-jupyter-notebook.herokuapp.com/ (رایگان هیروکو داینو). مخزن کد: github.com/pplonski/dashboard-python-jupyter-notebook.

ساخت داشبورد با 9 خط کد پایتون

بیایید با ایجاد یک مخزن خالی و شبیه سازی آن شروع کنیم:

git clone git@github.com:pplonski/dashboard-python-jupyter-notebook.git

لطفا محیط مجازی را راه اندازی کنید:

virtualenv djenv
source djenv/bin/activate

من انتخاب می کنم djenv به عنوان نامی برای محیط مجازی. من تمام بسته های مورد نیاز را در requirements.txt فایل:

mljar-mercury
mplfinance
yfinance

در mljar-mercury یک بسته پایتون با Mercury چارچوب در mplfinance بسته ای برای ترسیم داده های مالی با استفاده از matplotlib. در yfinance بسته ای برای دانلود داده های بازار از Yahoo Finance API است. بیایید بسته های مورد نیاز را نصب کنیم و محیط خود را به عنوان هسته Jupyter تنظیم کنیم:

pip install -r requirements.txt

# add kernel
python -m ipykernel install --user --name djenv

ما محیط را آماده کرده‌ایم، قدم بعدی شروع یک نوت بوک Jupyter و ایجاد یک نوت بوک جدید است. لطفاً به یاد داشته باشید که هسته را با انتخاب کنید djenv نام هنگام ایجاد یک نوت بوک جدید:

# starts Jupyter Notebook
jupyter notebook

کد در نوت بوک

کد را با import شروع می کنیم:

import yfinance as yf
import mplfinance as mpf

داده های سهام برای تیک تیک انتخاب شده نمایش داده می شود. بیایید یک متغیر برای آن ایجاد کنیم:

به لطف شگفت انگیز، داده های بازار برای تیک تیک انتخاب شده را می توان با 1 خط کد واکشی کرد yfinance بسته:

history = yf.Ticker(ticker).history(period="3mo")

ما می توانیم آماری در مورد داده ها چاپ کنیم:

print(f"3 months low: {history.Low.min().astype(int)}")
print(f"3 months high: {history.High.max().astype(int)}")

نمایش 5 ردیف آخر در داده ها (5 روز معاملاتی گذشته):

در history متغیر Pandas DataFrame است. داده های مالی را می توان به راحتی با آن ترسیم کرد mplfinance بسته:

mpf.plot(history, type='candle', mav=(7),figratio=(18,10))

نمودار شمع با میانگین متحرک 7 روزه (1 خط کد):

طرح شمع مالی با mplfinance

کل نوت بوک در زیر از پیش تنظیم شده است، فقط 9 خط کد پایتون دارد:

اسکرین شات کد ساخت داشبورد در پایتون با نوت بوک Jupyter

داشبورد را با کاربران غیر فنی به اشتراک بگذارید

خوب، نوت بوک آماده است. شما می توانید تغییر دهید ticker متغیر (مثلاً روی "MSFT") و نوت بوک را برای دریافت داده های جدید اجرا کنید. با این حال، اشتراک گذاری نوت بوک با کد راحت نیست، گاهی اوقات غیرممکن است، اگر کاربران شما غیر فنی باشند و نتوانند پایتون و بسته های مورد نیاز را نصب کنند. لطفا نگران نباشید! 😊 یک چارچوب متن باز وجود دارد که به آن می گویند Mercury برای تبدیل نوت بوک های پایتون به برنامه های کاربردی وب تعاملی. می توانید کد را در دفترچه پنهان کنید و فقط خروجی ها (جدول و نمودار) را نشان دهید. برنامه وب را می توان در فضای ابری مستقر کرد. شما پیوند به برنامه وب را به اشتراک خواهید گذاشت. در ticker متغیر را می توان به ویجت تعاملی تبدیل کرد. به نظر جالب میاد؟

علاوه بر این، نیازی به تغییر هیچ کدی در نوت بوک خود ندارید. فقط سرآیند YAML را در اولین سلول خام اضافه کنید:

---
title: Finance dashboard
description: Dashboard with financial data
show-code: False
params:
    ticker: 
        input: select
        value: TSLA
        label: Select ticker
        choices: [TSLA, COIN, MSFT, PLTR, SNOW, NFLX]
---

YAML به آن خواهد گفت Mercury چارچوب نحوه نمایش نوت بوک. را تعریف می کند title و برنامه ها description. کد با پنهان است show-code پارامتر در ticker متغیر به عنوان یک ویجت انتخابی تعریف می شود. کل دفترچه در زیر ارائه شده است:

اسکرین شات کد ساخت داشبورد در پایتون با نوت بوک Jupyter

خوب، اما چگونه برنامه وب را اجرا کنیم؟ بسیار ساده است، فقط دستور را اجرا کنید:

همین! در Mercury نوت‌بوک‌های موجود در فهرست را شناسایی می‌کند و به عنوان برنامه‌های کاربردی وب مورد استفاده قرار می‌گیرد.

به ابر مستقر شود

من سرویس Heroku را برای استقرار توصیه می کنم. این داینوهای رایگان ارائه می دهد و استقرار را می توان با یک دستور انجام داد! باید تعریف کنیم Procfile که به Heroku می گوید که چگونه کد ما را اجرا کند:

web: mercury run 0.0.0.0:$PORT

بیایید همه فایل ها را به مخزن commit کنیم:

git add dashboard.ipynb
git add requirements.txt
git add Procfile
git commit -am "create dashboard in Python"
git push

ما آماده استقرار هستیم. اولین قدم ایجاد اپلیکیشن در Heroku است. من از ابزار Heroku CLI برای ایجاد برنامه استفاده می کنم:

heroku create dashboard-jupyter-notebook

دستور استقرار:

واقعا؟! بله، همین است. فقط یک دقیقه صبر کنید و سرور شما کار می کند 😊 داشبورد من در حال اجرا است dashboard-jupyter-notebook.herokuapp.com/. دموی داشبورد در زیر آمده است:

داشبورد مالی در پایتون با نوت بوک Jupyter

اگر نوت‌بوک را به‌روزرسانی می‌کنید و می‌خواهید نسخه جدیدتری از نوت‌بوک را اجرا کنید، لطفاً از همان دستور استفاده کنید:

صادرات نوت بوک به PDF

در Mercury دارای گزینه ای برای صادرات نوت بوک اجرا شده به عنوان فایل PDF. گردش کار معمولی این است:

  • کاربر مقادیر ویجت ها را تغییر می دهد،
  • کلیک کاربر Run دکمه برای اجرای نوت بوک با پارامترهای جدید،
  • کلیک کاربر Download دکمه برای دریافت نوت بوک اجرا شده به صورت PDF.

شما باید یک buildpack Heroku اضافه کنید تا کار کند. می توان آن را در داشبورد هیروکو:

https://github.com/jontewks/puppeteer-heroku-buildpack

Heroku Buildpack برای صادرات نوت بوک پایتون به صورت PDF

پس از افزودن buildpack با puppeteer باید برنامه را دوباره راه اندازی کنید. لطفاً تغییرات انجام دهید را در کد اضافه کنید یا اضافه کنید welcome.md فایل (welcome.md پیام اسناد) و استقرار با:

صادرات نوت بوک به PDF با یک کلیک:

نوت بوک پایتون را به صورت PDF دانلود کنید

خلاصه

داشبورد مالی تنها با 9 خط کد پایتون ایجاد شد. نوت بوک Jupyter برای توسعه استفاده شد. این نوت بوک به لطف داشبورد تعاملی منتشر شد Mercury چارچوب

اگر سوالی دارید یا نیاز به کمک دارید لطفا در خبرنامه زیر مشترک شوید. در فرم، می‌توانید بازخورد، نظر یا سؤال را بنویسید. ما تمام تلاش خود را می کنیم تا سریع پاسخ دهیم 🙂

« چگونه در پایتون ایمیل بفرستیم؟ (ساده ترین روش)


💌 بیایید در ارتباط باشیم 💌

لطفا در خبرنامه مشترک شوید تا از به‌روزرسانی‌های محصولات و مقالات جدید ما مطلع شوید. ما هر ماه یک ایمیل برای شما ارسال می کنیم.



نوت بوک پایتون خود را با دیگران به اشتراک بگذارید



لینک منبع

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.