用不到 40 行 Python 代码构建 2025 年的股票仪表板!🤓

2025-05-28

用不到 40 行 Python 代码构建 2025 年的股票仪表板!🤓

构建交互式数据仪表板似乎令人生畏。

特别是如果您不熟悉 HTML/CSS/JS 等前端技术。

利桑·阿尔·盖布

但是,如果您仅使用 Python 就可以创建一个功能齐全、可立即投入生产的数据科学仪表板,那会怎样?

输入Taipy,一个简化创建数据应用程序过程的开源库。

保罗·阿特雷德斯

星号⭐ Taipy 仓库
 

在本教程中,Mariya Sha 将指导您使用TaipyPlotly和来自Kaggle的数据集构建股票价值仪表板

我们的应用程序将动态过滤数据、显示图表并处理用户输入——所有这些都从头开始。

准备好了吗?让我们开始吧!


步骤 1:设置环境

首先,我们需要创建一个新的 Python 环境。如果你使用 Conda,可以按如下方式设置:

conda create -n ds_env python=3.11
conda activate ds_env
pip install taipy pandas plotly

Enter fullscreen mode Exit fullscreen mode

克隆该项目的资源:

git clone https://github.com/MariyaSha/data_science_dashboard.git
cd data_science_dashboard/starter_files

Enter fullscreen mode Exit fullscreen mode

这将作为我们的项目根目录。在其中,您将找到图像、线框图和一个 Python 文件(main.py)。


第 2 步:使用 Taipy 设计 GUI

让我们为应用程序添加标题和徽标。打开 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")

Enter fullscreen mode Exit fullscreen mode

运行你的应用程序:

taipy run main.py
Enter fullscreen mode Exit fullscreen mode

导航到http://localhost:5000,您将看到您的基本应用程序!


步骤3:添加用户输入

要按日期过滤数据,请添加日期范围选择器:

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",
    )

Enter fullscreen mode Exit fullscreen mode

步骤 4:使用 Taipy 进行动态数据处理

让我们加载数据集并根据用户输入动态过滤它。

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)

Enter fullscreen mode Exit fullscreen mode

步骤5:可视化数据

最后,让我们用 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)}")

Enter fullscreen mode Exit fullscreen mode

最后的想法

瞧!您已经使用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
PREV
使用 Taipy 构建带有 MistralAI 的 ChatGPT 向导加载 Mistral-7B-Instruct-v0.1-GGUF 模型
NEXT
构建完美的 AI 应用程序所需的所有工具。