继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

用不到40行Python代码构建2025股票行情仪表盘!🤓

慕姐8265434
关注TA
已关注
手记 1294
粉丝 222
获赞 1065

创建交互式数据仪表板可能感觉有点吓人。

尤其是如果你不熟悉前端技术,比如 HTML/CSS/JS 这些。

里山·阿盖布

但如果你仅用Python就能创建一个功能完善且可以直接投入生产的数据科学仪表板呢?

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

保罗·阿特雷兹 (Paul Atreides)

星标一下 ⭐ Taipy

在这个教程中,Mariya Sha 将带你使用 TaipyPlotly,并利用来自 Kaggle 的数据集来构建一个股票价值的仪表盘。

我们的应用程序将从零开始动态过滤数据,并展示图表,同时处理用户的输入。

准备好了吗?那咱们开始吧!

此处省略部分内容

步骤 1:设置环境

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

在这里我们创建一个名为ds_env的conda环境,并指定使用Python 3.11版本。

conda create -n ds_env python=3.11

接下来激活我们刚刚创建的环境。

conda activate ds_env

安装taipy、pandas和plotly库。

pip install taipy pandas plotly

进入全屏 退出全屏

复制此项目的资源:

在终端中运行以下命令:

    git clone https://github.com/MariyaSha/data_science_dashboard.git
    进入 data_science_dashboard/starter_files 文件夹

完成以上步骤后,你就可以开始使用 data_science_dashboard 了。

全屏模式(点击退出)

这将作为我们的项目根目录。里面你会找到图片、原型图和一个Python文件(main.py)以开始。


第二步:使用 Taipy 来设计图形用户界面

咱们在应用程序中添加一个头部和一个 logo。打开 main.py 并开始编码:

    import taipy.gui as tgb

    with tgb.page("股票看板"):
        # 添加一个logo
        tgb.image("images/icons/logo.png", width="10vw")

        # 添加一个标题
        tgb.text("# 标普500指数的股票价值随时间变化", mode="md")

点击全屏显示 点击退出全屏

运行你的应用程序。

运行 taipy run main.py 命令 (运行 taipy 框架中的 main.py 脚本)

全屏 退出全屏

访问 http://localhost:5000,你就能看到你的基本应用界面了。


步骤 3:添加用户输入

如果你想按日期筛选数据,可以添加一个日期范围选择器。

    import datetime

    dates = [datetime.date(2023, 1, 1), datetime.date(2024, 1, 1)]

    with tgb.page("股票盘表"):
        # 已有元素...

        # 添加日期选择器
        tgb.date_range(
            value="{}",
            label_start="开始",
            label_end="结束",
        )

切换到全屏 退出全屏


第 4 步:动态数据处理利用 Taipy

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

    import pandas as pd

    # 读取股票数据
    stock_data = pd.read_csv("data/sp500_stocks.csv")

    def filter_data(state, name, value):
        if name == "dates":
            start, end = state.dates
            将 start 和 end 赋值为 state.dates 中的值
            filtered_data = stock_data[
                (stock_data["Date"] >= str(start)) & 
                (stock_data["Date"] <= str(end))
            ]
            将过滤后的数据赋值给 state.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("股票仪表盘"):
        # 当前的元素...

        # 显示图
        tgb.chart(figure="{create_chart(filtered_data)}")

全屏,退出全屏


最后的想法

就这样,你已经做到了!
你已经使用Taipy搭建了一个股票盘面,实现了动态用户输入和数据可视化——而且完全不需要写一行HTML、CSS或JavaScript代码。

想再往前走走吗?

探索 Taipy 场景,以实现更动态的后端交互。查看 Taipy 的官方 GitHub 仓库,并为他们的开源项目作出贡献。


PS:你可以点击这里观看视频教程 https://www.youtube.com/watch?v=hxYIpH94u20&feature=youtu.be

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP