建立互動式資料儀表板似乎令人生畏。
特別是如果您不熟悉 HTML/CSS/JS 等前端技術。
但是,如果您可以只使用 Python 建立一個功能齊全、可用於生產的資料科學儀表板呢?
Taipy是一個開源程式庫,可以簡化建立資料應用程式的過程。
{% cta https://github.com/Avaiga/taipy %} Star ⭐ Taipy 倉庫 {% endcta %}
在本教程中,Mariya Sha 將指導您使用Taipy 、 Plotly和Kaggle資料集建立股票價值儀表板。
我們的應用程式將動態過濾資料、顯示圖表並處理使用者輸入——所有這些都從頭開始。
準備好潛入了嗎?讓我們開始吧!
首先,我們需要建立一個新的Python環境。如果你使用Conda,可以如下設定:
conda create -n ds_env python=3.11
conda activate ds_env
pip install taipy pandas plotly
克隆該專案的資源:
git clone https://github.com/MariyaSha/data_science_dashboard.git
cd data_science_dashboard/starter_files
這將作為我們的專案根目錄。在裡面,您將找到圖像、線框和要啟動的 Python 檔案 ( main.py
)。
讓我們為我們的應用程式加入標題和徽標。開啟main.py並開始編碼:
import taipy.gui as tgb
with tgb.page("Stock Dashboard"):
# Add a logo
tgb.image("images/icons/logo.png", width="10vw")
# Add a title
tgb.text("# S&P 500 Stock Value Over Time", mode="md")
執行您的應用程式:
taipy run main.py
導航到 http://localhost:5000,您將看到您的基本應用程式!
若要按日期篩選資料,請新增日期範圍選擇器:
import datetime
dates = [datetime.date(2023, 1, 1), datetime.date(2024, 1, 1)]
with tgb.page("Stock Dashboard"):
# Existing elements...
# Add date range selector
tgb.date_range(
value="{dates}",
label_start="Start Date",
label_end="End Date",
)
讓我們載入資料集並根據使用者輸入動態過濾它。
import pandas as pd
# Load the stock data
stock_data = pd.read_csv("data/sp500_stocks.csv")
def filter_data(state, name, value):
if name == "dates":
start, end = state.dates
filtered_data = stock_data[
(stock_data["Date"] >= str(start)) &
(stock_data["Date"] <= str(end))
]
state.filtered_data = filtered_data
tgb.add_callback("filter_data", filter_data)
最後,讓我們用 Plotly 繪製資料:
import plotly.graph_objects as go
def create_chart(data):
fig = go.Figure()
fig.add_trace(
go.Scatter(
x=data["Date"],
y=data["High"],
name="Stock Value",
mode="lines"
)
)
return fig
with tgb.page("Stock Dashboard"):
# Existing elements...
# Display the chart
tgb.chart(figure="{create_chart(filtered_data)}")
現在你就擁有了!
您已經使用Taipy建立了一個股票儀表板,處理動態使用者輸入和資料視覺化 - 所有這些都無需編寫一行 HTML、CSS 或 JavaScript。
想要更進一步嗎?
探索 Taipy 場景以實現更動態的後端互動。查看官方Taipy GitHub 儲存庫並為他們的開源計畫做出貢獻!
PS:您可以在這裡觀看影片教學。
原文出處:https://dev.to/taipy/build-a-stock-dashboard-in-less-than-40-lines-of-python-code-3b78