[译]使用Python和Dash 创建一个仪表盘(上)

这篇具有很好参考价值的文章主要介绍了[译]使用Python和Dash 创建一个仪表盘(上)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

介绍

在数据科学和分析的领域,数据能力的释放不仅是通过提取见解的方式, 同时也要能通过有效的方式来传达见解.这就是数据可视化发挥见解的地方.

[译]使用Python和Dash 创建一个仪表盘(上)

数据可视化是信息和数据的可视化呈现. 它使用可视化元素,如图表、图形、地图,使其更容易看懂原始数据中的模式、趋势及异常值.对于数据科学家和分析师来说,数据可视化是一个必不可少的工具,它有助于更快、更准确地理解数据,支持用数据讲故事.并帮助做出数据驱动的决策.

在这篇文章中, 你将学会用Python和Dash框架创建一个仪表盘来可视化Netflix的内容分布和分类.

[译]使用Python和Dash 创建一个仪表盘(上)

什么是Dash?

Dash是一个开源的低代码框架,由 Plotly 开发, 用来在纯Python中创建分析型的网络应用.传统上为了实现这个目的, 可能需要使用JavaScript和HTML,要求你在后端(Python)和前端(JavaScript和HTML)有所专长.

然而,Dash 弥补了这一差距.使数据科学家和分析师只用Python就可以建立互动的、美观的仪表盘.这方面的低代码开发使Dash成为创建分析性仪表盘的合适选择,特别是对于那些主要使用Python的人.

数据集分析

现在你已经熟悉了Dash, 让我们开始我们的实践项目吧.你将使用Kaggle上Netflix电影和电视节目数据集,由 Shivam Bansal创建.

这个数据集包含截止至2021年Netflix提供的电影和电视节目详细信息,比如内容类型,标题,导演,演员,制作国家.发行年份,评级,持续时间等等.

即使该数据集创建于2021年,它仍然是发展数据可视化技能和了解媒体娱乐趋势的宝贵资源。

使用这个数据集,你的目标是创建一个仪表盘,使以下几点可视化:

  • 内容的地理分布: 一张地图,展示了多年来不同国家的内容生产情况的变化。
  • 内容分类: 这种可视化方法将Netflix的内容分为电视节目和电影,以查看哪些类型的内容最突出。

设置项目工作区

让我们开始为项目创建一个名为netflix-dashboard的目录,然后通过以下命令初始化并激活一个Python虚拟环境:

mkdir netflix-dashboard && cd netflix-dashboard

python3 -m venv netflix-venv && source netflix-venv/bin/activate

接下来,你需要安装一些外部软件包。你将使用pandas进行数据处理,dash用于创建仪表盘,plotly用于创建图表,dash-bootstrap-components用于为仪表盘添加一些样式:

pip3 install pandas dash plotly dash-bootstrap-components

清理数据集

通过Netflix的数据集,你会发现导演、演员和国家这几列的数值缺失。为了方便分析,将date_added列的字符串值转换为日期时间也很方便。

为了清理数据集,你可以创建一个新的文件clean_netflix_dataset.py,代码如下,然后运行它:

import pandas as pd

# Load the dataset
df = pd.read_csv("netflix_titles.csv")
df['director'].fillna("No director", inplace=True)
df['cast'].fillna("No cast", inplace=True)
df['country'].fillna("No country", inplace=True)

# Drop missing and duplicate values
df.dropna(inplace=True)
df.drop_duplicates(inplace=True)

df['date_added'] = pd.to_datetime(df['date_added'].str.strip())

# Save the cleaned dataset
df.to_csv('netflix_titles_cleaned.csv', index=False)

开始使用Dash

随着工作区的建立和数据集的清理,你已经准备好开始制作你的仪表盘了。创建一个新文件app.py,代码如下:

from dash import Dash, dash_table, html

# Initialize a Dash app

app = Dash(__name__)

# Define the app layout
app.layout = html.Div([
    html.H1("Netflix Movies and TV Shows Dashboard"),
    html.Hr(),
])

# Start the dash app in local development mode

if __name__ == "__main__":
    app.run_server(debug=True)

让我们来分析一下app.py中的代码:

  • app = Dash(__name__): 这一行初始化了一个新的Dash应用程序。可以把它看作是你的应用程序的基础。
  • app.layout = html.Div(...): app.layout属性让你写类似HTML的代码来设计你的应用程序的用户界面。上面的布局使用html.H1(...)标题元素作为仪表盘的标题,并在标题下面使用水平规则html.Hr()元素。
  • app.run(debug=True): 这一行启动一个开发服务器,在本地开发模式下为你的Dash应用提供服务。Dash使用Flask,一个轻量级的Web服务器框架,将你的应用程序提供给Web浏览器。

在运行app.py之后,你会在终端看到一条信息,表明你的Dash应用程序正在运行,并且可以访问http://127.0.0.1:8050/。在你的网络浏览器中打开这个URL来查看它:

[译]使用Python和Dash 创建一个仪表盘(上)

结果看起来很普通,对吗?不要担心! 本节旨在展示最基本的Dash应用结构和组件。你很快就会添加更多的功能和组件,使之成为一个很酷的仪表板.

引入Dash Bootstrap组件

下一步是为你的仪表盘的布局编写代码,并为它添加一些样式. 为此,你可以使用Dash Bootstrap Components(DBC),这是一个为Dash提供Bootstrap组件的库,使你能够开发具有响应式布局的风格的应用程序。

仪表板将采用标签布局,这为在同一空间内组织不同类型的信息提供了一种紧凑的方式。每个标签将对应于一个独特的可视化。

让我们继续修改app.py的内容以纳入DBC:

from dash import Dash, dcc, html
import dash_bootstrap_components as dbc

# Initialize a Dash app
app = Dash(__name__, external_stylesheets=[dbc.themes.BOOTSTRAP])

# Define the app layout
app.layout = dbc.Container([
    dcc.Store(id='store'),
    html.H1("Netflix Movies and TV Shows Dashboard"),
    html.Hr(),
    dbc.Tabs([
        dbc.Tab(label='Geographical content distribution', tab_id='tab1'),
        dbc.Tab(label='Content classification', tab_id='tab2')
    ],
        id="tabs",
        active_tab='tab2'
    ),
    html.Div(id="tab-content", className='p-4')
])

# Start the dash app in local development mode
if __name__ == "__main__":
    app.run_server(debug=True)

在这个修改后的布局中,你会看到新的组件:

dbc.Container: 使用dbc.Container作为顶层组件,将整个仪表盘布局包裹在一个响应式的、灵活的容器中。
dcc.Store: 这个Dash Core组件允许你在客户端(用户的浏览器上)存储数据,通过将数据保存在本地来提高应用程序的性能。
dbc.Tabsdbc.Tab: 每个dbc.Tab代表一个单独的标签,它将包含不同的可视化内容。标签属性是出现在标签本身上的内容,而tab_id则用于识别标签。dbc.Tabs的active_tab属性用于指定Dash应用程序启动时的活动标签。

现在运行app.py。现在产生的仪表板将有一个Bootstrap风格的布局,有两个空标签:
[译]使用Python和Dash 创建一个仪表盘(上)

添加回调和可视化

当使用Dash时,互动性是通过回调函数实现的。回调函数是一个当输入属性发生变化时被自动调用的函数。它被命名为 "回调",因为每当应用程序中发生变化时,Dash就会 "回调 "这个函数。

在这个仪表盘中,你将使用回调来渲染所选标签中的相关可视化内容,每个可视化内容都将存储在自己的Python文件中,在一个新的组件目录下,以便更好地组织和模块化项目结构。文章来源地址https://www.toymoban.com/news/detail-569956.html

到了这里,关于[译]使用Python和Dash 创建一个仪表盘(上)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 第一个实例:QT实现汽车电子仪表盘

    目录 1.实现效果  1.1.视频演示 1.2.实现效果截图 2.生成的安装程序 3.功能概述 4.具体实现 5.QT扩展介绍 5.1.QT介绍 5.2.QT历史发展 5.3.QT平台支持 5.4.Qt Creator 5.5.优势 5.5.1.优良的跨平台特性 5.5.2.面向对象 5.5.3.丰富的 API QT 实现汽车仪表盘         此程序是个windows下的安装程序

    2024年02月09日
    浏览(48)
  • 极狐GitLab 全新「价值流仪表盘」使用指南

    本文来源: about.gitlab.com 作者: Haim Snir 译者: 极狐(GitLab) 市场部内容团队 GitLab / 极狐GitLab 价值流仪表盘的使用相对简单,这种可以定制化的仪表盘能够让决策者识别数字化转型进程中的趋势及机遇。 如果你已经在用 GitLab / 极狐GitLab 价值流管理,直接前往 项目或群组的分

    2024年02月14日
    浏览(72)
  • echarts绘制仪表盘

     代码展示:

    2024年02月13日
    浏览(45)
  • Grafana增加仪表盘

    grafana 是一款采用Go语言编写的开源应用,主要用于大规模指标数据的可视化展现,是网络架构和应用分析中最流行的时序数据展示工具,目前已经支持绝大部分常用的时序数据库。 Grafana下载地址:https://grafana.com/grafana/download Grafana仪表盘模板下载地址:https://grafana.com/grafa

    2024年02月04日
    浏览(46)
  • 新版Grafana仪表盘

    一 Grafana 是什么         Grafana 是一个开源的指标量监测和可视化工具,常用于展示基础设施的时序数据和应用 程序运行分析。         官网指路: https://grafana.com/         与前文相关的两个概念:         1)数据源(Datasource):定义了将用方式来查询数据展

    2024年02月13日
    浏览(42)
  • ChatGPT实现仪表盘生成

    Grafana是开源社区最流行的数据可视化软件,一定程度上也和 superset 一起被视为 tableau 等商业 BI 的开源替代品,很多IT 团队、科研团队,都会使用 Grafana 来做数据监控、挖掘分析。Grafana社区也有很多贡献者,在 github 上分享自己针对不同场景制作的数据分析仪表盘效果和配置

    2024年02月02日
    浏览(36)
  • QML 仪表盘小示例

    本次项目已发布在CSDN-GitCode,下载方便,安全,可在我主页进行下载即可,后面的项目和素材都会发布这个平台。 个人主页:https://gitcode.com/user/m0_45463480 怎么下载:在项目中点击克隆,windows:zip linux:tar.gz tar # .pro

    2024年02月05日
    浏览(44)
  • Prometheus + Grafana 搭建监控仪表盘

    目标要求 1、需要展现的仪表盘: SpringBoot或JVM仪表盘 Centos物理机服务器(实际为物理分割的虚拟服务器)仪表盘 2、展现要求: 探索Prometheus + Grafana搭建起来的展示效果,尽可能展示能展示的部分。 监控系统核心:prometheus-2.45.0.linux-amd64.tar 下载地址:https://github.com/prometheus

    2024年04月23日
    浏览(47)
  • 15. Canvas制作汽车油耗仪表盘

    1. 说明 本篇文章在14. 利用Canvas组件制作时钟的基础上进行一些更改,想查看全面的代码可以点击链接查看即可。 效果展示: 2. 整体代码

    2024年02月11日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包