iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >怎么使用Python构建一个仪表板
  • 133
分享到

怎么使用Python构建一个仪表板

2023-07-05 11:07:46 133人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

本篇内容主要讲解“怎么使用python构建一个仪表板”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Python构建一个仪表板”吧!简介如果你目前在一个数据或商业智能团队工作,你的任务之一

本篇内容主要讲解“怎么使用python构建一个仪表板”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Python构建一个仪表板”吧!

简介

如果你目前在一个数据或商业智能团队工作,你的任务之一可能是制作一些每日、每周或每月的报告。

虽然获得这些报告并不困难,但还是需要花费不少时间。我们的宝贵时间应该花在更困难的任务上,如训练神经网络或建立数据管道架构

因此,对于这些平凡的重复性报告,节省我们时间的最好方法是建立一个网络应用程序,其他团队可以自己访问和下载报告。

我说的不是Tableau或PowerBI这样的付费工具(如果公司预算充足的话,你可以使用它们)。有一些高级的网络框架,比如flaskDjango,通常用于建立一个正常运作的网站。

但是,对于一个快速的网络仪表盘来报告指标和数字,你可以考虑使用Streamlit,这是一个相对较新的网络框架,是为ML从业者和数据科学团队建立的。它使用起来非常简单和直观。

内容

我将通过使用一个群组分析的例子来指导你如何构建部署它。

对于每个部分,我将介绍一个代码模板(你可以在你自己的项目中重新使用)和我的代码(用于本文中使用的队列分析例子)。

  • 创建一个Python文件

  • 在终端上运行该文件,在本地机器上看到仪表板

  • 部署给其他团队使用

1.创建一个Python文件

我们必须创建一个Python文件,以后我们可以从终端调用该文件,在浏览器上显示结果。

你可以给这个文件取任何你想要的名字。这里我把它叫做cohort-demo.py

代码模板

# 这些数据可以在公众号后台回复【云朵君】,联系作者获取。# 1.导入必要的库import pandas as pdimport numpy as npimport streamlit as st# 2.设置页面配置st.set_page_config(    page_title="This is my title",  # 页面的标题    page_icon="????",                  # favicon    layout="wide",)# 3.定义你的项目中使用的所有函数# 4.对于每一个函数,在其前面添加"@st.experimental_memo"。这就是# 来记忆每个函数的执行。这将使应用程序运行得更快。# 特别是当用户与仪表盘上的一些元素互动时@st.experimental_memodef function(x):    return y

组群分析

import pandas as pdimport numpy as np import matplotlib.pyplot as plt import seaborn as snsimport matplotlib as mpl from datetime import date, datetimeimport streamlit as st  st.set_page_config(    page_title="Cohorts Dashboard",    page_icon="????",    layout="wide",)@st.experimental_memodef purchase_rate(customer_id):    purchase_rate = [1]    counter = 1    for i in range(1,len(customer_id)):        if customer_id[i] != customer_id[i-1]:            purchase_rate.append(1)            counter = 1        else:            counter += 1            purchase_rate.append(counter)    return purchase_rate@st.experimental_memodef join_date(date, purchase_rate):    join_date = list(range(len(date)))    for i in range(len(purchase_rate)):        if purchase_rate[i] == 1:            join_date[i] = date[i]        else:            join_date[i] = join_date[i-1]    return join_date  # 我没有在这里定义所有的函数,因为这将延长文章的篇幅。# 我将在文章的最后提供完整的代码。

现在我们建立第一个屏幕,如下所示。这将首先让用户上传文件,然后运行以产生输出。

怎么使用Python构建一个仪表板

代码模板:你可以用任何名字替换 "my_company"。

st.title("Cohort Interactive Dashboard Demo")st.markdown("""This WEBapp perfORMs cohort analysis of my_company data!* **Python libraries used:** base64, pandas, streamlit, numpy, matplotlib, seaborn* **Data source:** [Shopify](https://company_name.myshopify.com/admin)* You need to select the data file first to proceed.""")uploaded_file = st.file_uploader("Choose a file") # 来上传文件

一旦用户上传了一个文件,下一个屏幕将看起来像这样。

怎么使用Python构建一个仪表板

为了建立这个,我们需要。

  • 选择群组的类型:这是一个单一的选择。它可以是独特的客户保留率,或百分比或AOV(平均订单价值)方面的。

  • 选择队列:这是多选择。人们可以看一个特定的队列或更多。

怎么使用Python构建一个仪表板

代码模板

If uploaded_file is not None:# 这很重要,因为没有这个。                             # 当没有上传的文件时,会出现                             # 一个错误,因为df没有被定义....  df = pd.read_csv(upload_file) # 读取该文件  df_processed = process_df(df) # 清洁数据    # 仪表盘标题  st.header("Live Dashboard")  # 过滤器  first_filter = st.selectbox('Select first filter',['Option 1', 'Option 2', 'Option 3])    second_filter = st.multiselect('Select second filter', ['Option 1','Option 2','Option 3','Option 4'])    output = display_function(data_input,first_filter,second_filter)    st.dataframe(output)    st.download_button(label='Download csv', data=output.to_csv(), mime='text/csv') # 来下载该文件

组群分析

if uploaded_file is not None:    df = pd.read_csv(uploaded_file)    df_processed = process_df(df)    df_cohorts = cohort_numbers(df_processed)    cohorts = cohort_percent(df_cohorts)        # 通过使用f-strings动态标题    st.header(f"Live {cohorts.index[0]} to {cohorts.index[-1]} Cohort Dashboard")        # 过滤器    first_filter= st.selectbox('Select type of cohort',['By unique customers', 'By percentage', 'By AOV'])    second_filter = st.multiselect('Select cohort', list(cohorts.index))    output = select_which_table_to_draw(df_processed,first_filter,second_filter)    st.dataframe(output)    st.download_button(label='Download csv', data=output.to_csv(), mime='text/csv')

最后建立3个指标

怎么使用Python构建一个仪表板

代码模板

kpi1, kpi2, kpi3 = st.columns(3) # 创建三个占位符if uploaded_file is not None:        aov = np.mean(df['total_sales'])    aov_Goal = 95.00    kpi1.metric(        # 给这个指标贴上标签        label="AOV",         # 计算度量值        value=f"$ {round(aov,2)}",        # 计算与目标相比的变化(向上/向下箭头)        delta=f"-${round(aov_goal-aov,2)}" if aov_goal>aov else f"${round(aov-aov_goal,2)}",    )    nc = np.mean(df.loc[df['customer_type']=='First-time'].groupby(['day']).count()['customer_id'])    nc_goal = 30    kpi2.metric(        label="New customers/day",        value=int(nc),        delta=f"-{round((nc_goal-nc)/nc_goal*100,2)}%" if nc_goal>nc else f"{round((nc - nc_goal)/nc_goal*100,0)}%",    )    rc = np.mean(df.loc[df['customer_type']=='Returning'].groupby(['day']).count()['customer_id'])    rc_goal = 250    kpi3.metric(        label="Returning customers/day",        value= int(rc),        delta=f"-{round((rc_goal - rc)/rc_goal*100,2)}%" if rc_goal>rc else f"{round((rc-rc_goal)/rc_goal*100,2)}%"    )

2.在终端上运行该文件,在本地机器上显示

streamlit run cohort-demo.py

怎么使用Python构建一个仪表板

在右上角,你会看到一个选项,即每当你编辑cohort-demo.py时总是运行。

3.在Heroku上部署仪表板

首先在你的GitHub账户上创建gitHub仓库

怎么使用Python构建一个仪表板

创建requirements.txtsetup.shProcfile

requirements.txt(这是为了添加你在cohort-demo.py中使用的所有必要库。)

#只是简单地列出所有的库。你也可以包括版本
pandas
numpy
streamlit
matplotlib
seaborn
datetime
plotly

setup.sh

#只要复制和粘贴这个mkdir -p ~/.streamlit/echo "\[server]\n\headless = true\n\port = $PORT\nenableCORS = false\n\n\" > ~/.streamlit/config.toml

Procfile

web: sh setup.sh && streamlit run cohort-demo.py

  • cohort-demo.py上传至资源库

  • 打开Heroku(你应该在Heroku上创建一个账户)。

在右上角,点击 "Create new app"

怎么使用Python构建一个仪表板

在部署方式下,选择GitHub

怎么使用Python构建一个仪表板

然后将GitHub账户连接到Heroku。然后输入仓库的名称(在本例中,它是cohort_analysis_demo)。

一旦连接,在手动部署下,点击部署分支

怎么使用Python构建一个仪表板

到这里我们只需要等待它的部署。然后就完成了!URL链接将被创建。

刚刚将仪表盘部署到生产中,团队成员现在可以自己访问和分析数据。

他们可以简单地上传任何符合你定义的格式的数据集。即本例中的客户交易数据。

最终结果

怎么使用Python构建一个仪表板

到此,相信大家对“怎么使用Python构建一个仪表板”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 怎么使用Python构建一个仪表板

本文链接: https://www.lsjlt.com/news/351345.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么使用Python构建一个仪表板
    本篇内容主要讲解“怎么使用Python构建一个仪表板”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Python构建一个仪表板”吧!简介如果你目前在一个数据或商业智能团队工作,你的任务之一...
    99+
    2023-07-05
  • Python实现构建一个仪表板的示例代码
    目录简介内容1.创建一个Python文件2.在终端上运行该文件,在本地机器上显示3.在Heroku上部署仪表板总结这将为我们的团队节省每天重复的数据处理时间...... 简介 如果...
    99+
    2023-03-10
    Python构建仪表板 Python 仪表板
  • python怎么使用Evidently创建机器学习模型仪表板
    这篇文章主要讲解了“python怎么使用Evidently创建机器学习模型仪表板”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python怎么使用Evidently创建机器学习模型仪表板”吧...
    99+
    2023-06-25
  • 怎么使用CSS和Java来构建管理仪表盘布局
    这篇文章主要介绍了怎么使用CSS和Java来构建管理仪表盘布局,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。您将要创造的 在这个新教程中,我们将使用CSS和JavaScrip...
    99+
    2023-06-08
  • 怎么构建一个Python包
    本篇内容主要讲解“怎么构建一个Python包”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么构建一个Python包”吧!开始首先,您肯定需要设置一个或多个内容,以便了解如何构建python包。...
    99+
    2023-06-16
  • python数据挖掘使用Evidently创建机器学习模型仪表板
    目录1、安装包2、导入所需的库3、加载数据集4、创建模型5、创建仪表板6、可用报告类型1)数据漂移2)数值目标漂移3)分类目标漂移4)回归模型性能5)分类模型性能6)概率分类模型性能...
    99+
    2024-04-02
  • 一文学会使用OpenCV构建文档扫描仪
    目录介绍执行形态学操作从捕获的图像中删除背景边缘和轮廓检测识别角点标准化四点定位寻找目的地坐标:透视变换测试观察结论总结:介绍 在本文中,我们将使用 OpenCV 库来开发 Pyth...
    99+
    2024-04-02
  • PHP 中使用 Elasticsearch 构建实时监控与仪表盘
    概述:随着互联网的迅猛发展,对于系统监控和实时数据分析的需求越来越高。Elasticsearch 是一个强大的开源搜索引擎,它不仅可以用于全文搜索,还可以用于实时数据的存储和分析。本文将介绍如何使用 PHP 和 Elasticsearch ...
    99+
    2023-10-21
    PHP elasticsearch 实时监控 关键词提取:
  • 怎么使用python构建一个自己的聊天室
    今天小编给大家分享一下怎么使用python构建一个自己的聊天室的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、网络编程基础...
    99+
    2023-07-05
  • Python中怎么构造一个列表
    Python中怎么构造一个列表,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Python构造列表语法代码示例:#!/usr/bin/env python  ...
    99+
    2023-06-17
  • 使用Dockerfile怎么构建一个Docker镜像
    这篇文章将为大家详细讲解有关使用Dockerfile怎么构建一个Docker镜像,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Dockerfile是一个文本文件,其内包含了一条条的指令(In...
    99+
    2023-06-06
  • python怎么建立一个空列表
    在 Python 中,可以通过以下方式建立一个空列表:```pythonempty_list = []```或者使用 `list()...
    99+
    2024-02-29
    python
  • Python中怎么构建一个决策树
    本篇文章给大家分享的是有关Python中怎么构建一个决策树,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。决策树决策树是当今最强大的监督学习方法的组成部分。决策树基本上是一个二叉...
    99+
    2023-06-16
  • linux中怎么使用Arduino制作一个绘图仪
    这篇文章主要介绍了linux中怎么使用Arduino制作一个绘图仪,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。由于我是一个很怀旧的人,我真的很喜欢最初的 Arduino U...
    99+
    2023-06-16
  • 使用Java怎么构建一个JDBC应用程序
    今天就跟大家聊聊有关使用Java怎么构建一个JDBC应用程序,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应...
    99+
    2023-06-06
  • 使用python构建一个自己的聊天室
    目录一、简介二、网络编程基础概念三、Socket编程简介及原理四、聊天室架构及功能需求五、实现聊天室服务器端1.使用socket创建服务器端socket对象。2.绑定IP地址和端口。...
    99+
    2023-05-14
    python构建 python聊天室
  • Python中怎么利用 FastAPI构建一个Web服务
    Python中怎么利用 FastAPI构建一个Web服务,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。起步我们将使用 Fedora 作为基础镜像来搭建开发环境,...
    99+
    2023-06-16
  • 怎么在python中利用Dockerfile构建一个镜像
    今天就跟大家聊聊有关怎么在python中利用Dockerfile构建一个镜像,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。python的数据类型有哪些python的数据类型:1. 数...
    99+
    2023-06-14
  • Python中怎么构建一个FP-growth算法
    本篇文章为大家展示了Python中怎么构建一个FP-growth算法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。FP算法发现频繁项集的过程是:(1)构建FP树;(2)从FP树中挖掘频繁项集FP表示...
    99+
    2023-06-17
  • Python中怎么构建一个Markdown编辑器
    这篇文章给大家介绍Python中怎么构建一个Markdown编辑器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。首先,请确保您已安装Python 3和Tkinter。如果没有,您可以从这里下载:python.org/d...
    99+
    2023-06-16
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作