注意:上面的嵌入来自 github 存储库,您可以在此处克隆。但是,因为它托管在 github 上,所以所有 JS 交互性都被禁用,因此“切换按钮”将不会被渲染。但是,如果您将存储库克隆到您的计算机并在本地运行笔记本,您将看到该按钮如下所示:

\\\"Jupyter

通过单击“切换按钮”,输入单元格将被隐藏,您将看到如下内容:

\\\"Jupyter

就是这样。总之,以下是我们能够在一个环境(笔记本)中完成的所有操作:

完整的端到端分析工作流程,全部在一个环境中。下一步将是构建一个框架、技术和/或管道,使我们能够与利益相关者无缝地分享我们的报告。如果这篇文章得到足够的关注,我会在下一篇写这篇文章。 ?

","image":"http://www.luping.net/uploads/20240826/172465956766cc376f39a45.jpg","datePublished":"2024-08-26T16:06:07+08:00","dateModified":"2024-08-26T16:06:07+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > Jupyter Notebooks 作为端到端分析解决方案

Jupyter Notebooks 作为端到端分析解决方案

发布于2024-08-26
浏览:251

介绍

你醒了。您查看待办事项列表,发现团队成员有一项任务。他们希望您进行某种分析并生成报告。请求本身相对复杂,这意味着您可能需要使用问题陈述对其进行分解,从数据源中提取数据,进行探索,收集您的见解,然后向团队成员讲述您的发现故事。

解决这个问题的方法如下:

  • 在任务跟踪平台(例如 Trello、Jira)中构建问题陈述
  • 从数据源(例如 SQL 数据库,使用 SSMS、Power Query 等接口)提取数据
  • 在分析工具(Python、R、Excel)中执行探索性数据分析和复杂转换
  • 确定见解,然后以易于理解的方式向麻瓜展示它们(一个幻灯片,或者如果您感兴趣的话,可以使用 Tableau 或 Power BI 等可视化工具)

听起来像是数据专业人员生活中的标准一天,对吧?然而,我不知道你怎么想,但在这么多工具之间移动数据可能会让人非常迷失方向。它导致工作流程效率非常低。但如果我告诉你有更好的方法呢?您可以在一个地方准备问题陈述、编写 SQL 查询、执行分析并呈现您的发现吗?如果您使用数据和 Python,您可能已经熟悉 Jupyter Notebook 作为临时分析的优秀工具。 Notebook 的交互式环境允许进行顺序分析和讲故事。但 Notebook 的魅力不仅仅在于它与 IPython 的结合。 Jupyter Notebook 本质上是使用 HTML、CSS 和 JS 构建的;这意味着我们可以利用这些技术来扩展笔记本的功能。在本文中,我将向您展示如何利用 Jupyter Notebook 的 Web 界面和 Python 丰富的数据库来构建端到端报告解决方案。

要继续操作,您需要在系统上安装以下软件和/或软件包:

SQL Server:这是我们将在数据提取中与之交互的 SQL 方言
Aventure Works Database:这是我们要从中查询数据的数据库集合。默认情况下,AW 数据库通常随 SQL Server 安装一起提供。但如果没有,请单击链接并按照有关如何将其加载到 SQL Server 安装中的说明进行操作。
Python 和 Jupyter:同时安装 Python 和 Jupyter 的最简单方法是使用 anaconda 发行版。如果您已经拥有 Python 但只想安装 Jupyter,请使用此链接。
Python 库

  • pyodbc
  • 熊猫
  • sqlalchemy
  • 情节
  • mlxtend
  • 网络x

现在我们已经解决了这个问题,让我们直接深入了解 Jupyter Notebook。您可以在下面找到它:

注意:上面的嵌入来自 github 存储库,您可以在此处克隆。但是,因为它托管在 github 上,所以所有 JS 交互性都被禁用,因此“切换按钮”将不会被渲染。但是,如果您将存储库克隆到您的计算机并在本地运行笔记本,您将看到该按钮如下所示:

Jupyter Notebooks as an End-to-End Analytics Solution

通过单击“切换按钮”,输入单元格将被隐藏,您将看到如下内容:

Jupyter Notebooks as an End-to-End Analytics Solution

就是这样。总之,以下是我们能够在一个环境(笔记本)中完成的所有操作:

  • 定义问题陈述并扩展目标
  • 连接到 SQL 数据库并直接从 SQL 数据库查询数据
  • 执行我们的分析
  • 绘图可视化
  • 使用 Markdown 来格式化我们的章节、布局和结果来讲述故事,并使我们的报告可供非技术受众阅读
  • 提供隐藏我们的技术输入的功能,只留下我们的故事和见解

完整的端到端分析工作流程,全部在一个环境中。下一步将是构建一个框架、技术和/或管道,使我们能够与利益相关者无缝地分享我们的报告。如果这篇文章得到足够的关注,我会在下一篇写这篇文章。 ?

版本声明 本文转载于:https://dev.to/simsights/jupyter-notebooks-as-an-end-to-end-analytics-solution-2d1o?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • 如何为PostgreSQL中的每个唯一标识符有效地检索最后一行?
    如何为PostgreSQL中的每个唯一标识符有效地检索最后一行?
    [2最后一行与数据集中的每个不同标识符关联。考虑以下数据: 1 2014-02-01 kjkj 1 2014-03-11 ajskj 3 2014-02-01 sfdg 3 2014-06-12 fdsa 为了检索数据集中每个唯一ID的最后一行信息,您可以在操作员上使用Postgres的有效效...
    编程 发布于2025-02-19
  • 如何使用替换指令在GO MOD中解析模块路径差异?
    如何使用替换指令在GO MOD中解析模块路径差异?
    克服go mod中的模块路径差异 github.com/coreos/etcd/integration imports :解析GO.mod:模块将其路径声明为: go.etcd.io/bbolt [&&&&&&&&&&&&&&&&&&&&&&&&&&&& github.com/coreos/b...
    编程 发布于2025-02-19
  • 在没有密码提示的情况下,如何在Ubuntu上安装MySQL?
    在没有密码提示的情况下,如何在Ubuntu上安装MySQL?
    在ubuntu 使用debconf-set-selections 在安装过程中避免密码提示mysql root用户。这需要以下步骤: sudo debconf-set-selections
    编程 发布于2025-02-19
  • 如何检查对象是否具有Python中的特定属性?
    如何检查对象是否具有Python中的特定属性?
    方法来确定对象属性存在寻求一种方法来验证对象中特定属性的存在。考虑以下示例,其中尝试访问不确定属性会引起错误: >>> a = someClass() >>> A.property Trackback(最近的最新电话): 文件“ ”,第1行, AttributeError:SomeClass实...
    编程 发布于2025-02-19
  • 如何以不同的频率控制Android设备振动?
    如何以不同的频率控制Android设备振动?
    控制使用频率变化的Android设备振动是否想为您的Android应用程序添加触觉元素?了解如何触发设备的振动器至关重要。您可以做到这一点:生成基本振动以生成简单的振动,使用振动器对象:这将导致设备在指定的持续时间内振动。许可要求通过上述技术,您可以创建在您的Android应用程序中自定义振动,以增...
    编程 发布于2025-02-19
  • 如何克服PHP的功能重新定义限制?
    如何克服PHP的功能重新定义限制?
    克服PHP的函数重新定义限制在PHP中,多次定义一个相同名称的函数是一个no-no。尝试这样做,如提供的代码段所示,将导致可怕的“不能重新列出”错误。 //错误:“ cance redeclare foo()” 但是,PHP工具腰带中有一个隐藏的宝石:runkit扩展。它使您能够灵活地重新定义...
    编程 发布于2025-02-19
  • 版本5.6.5之前,使用current_timestamp与时间戳列的current_timestamp与时间戳列有什么限制?
    版本5.6.5之前,使用current_timestamp与时间戳列的current_timestamp与时间戳列有什么限制?
    在默认值中使用current_timestamp或mysql版本中的current_timestamp或在5.6.5 这种限制源于遗产实现的关注,这些限制需要为Current_timestamp功能提供特定的实现。消息和相关问题 current_timestamp值: 创建表`foo`( `...
    编程 发布于2025-02-19
  • 如何在JavaScript对象中动态设置键?
    如何在JavaScript对象中动态设置键?
    如何为JavaScript对象变量创建动态键,尝试为JavaScript对象创建动态键,使用此Syntax jsObj['key' i] = 'example' 1;将不起作用。正确的方法采用方括号:他们维持一个长度属性,该属性反映了数字属性(索引)和一个数字属性的数量。标准对象没有模仿这...
    编程 发布于2025-02-19
  • 如何使用组在MySQL中旋转数据?
    如何使用组在MySQL中旋转数据?
    在关系数据库中使用mysql组使用mysql组来调整查询结果。在这里,我们面对一个共同的挑战:使用组的组将数据从基于行的基于列的基于列的转换。通过子句以及条件汇总函数,例如总和或情况。让我们考虑以下查询: select d.data_timestamp, sum(data_id = 1 tata...
    编程 发布于2025-02-19
  • 可以在纯CS中将多个粘性元素彼此堆叠在一起吗?
    可以在纯CS中将多个粘性元素彼此堆叠在一起吗?
    https://webthemez.com/demo/sticky-multi-header-scroll/index.html </main> <section> display:grid; grid-template-col...
    编程 发布于2025-02-19
  • HTML格式标签
    HTML格式标签
    HTML 格式化元素 **HTML Formatting is a process of formatting text for better look and feel. HTML provides us ability to format text without us...
    编程 发布于2025-02-19
  • 如何修复\“常规错误:2006 MySQL Server在插入数据时已经消失\”?
    如何修复\“常规错误:2006 MySQL Server在插入数据时已经消失\”?
    How to Resolve "General error: 2006 MySQL server has gone away" While Inserting RecordsIntroduction: connect to to to Database connect to t...
    编程 发布于2025-02-19
  • 如何限制动态大小的父元素中元素的滚动范围?
    如何限制动态大小的父元素中元素的滚动范围?
    在交互式界面中实现垂直滚动元素的CSS高度限制 考虑一个布局,其中我们具有与可滚动的映射div一起移动的subollable map div用户的垂直滚动,同时保持其与固定侧边栏的对齐方式。但是,地图的滚动无限期扩展,超过了视口的高度,阻止用户访问页面页脚。 可以限制地图的滚动,我们可以利用CSS...
    编程 发布于2025-02-19
  • 为什么使用Firefox后退按钮时JavaScript执行停止?
    为什么使用Firefox后退按钮时JavaScript执行停止?
    导航历史记录问题:JavaScript使用Firefox Back Back 此行为是由浏览器缓存JavaScript资源引起的。要解决此问题并确保在后续页面访问中执行脚本,Firefox用户应设置一个空功能以在window.onunload事件上调用。 pre> window.onload ...
    编程 发布于2025-02-19
  • 在保持其内容完整时,如何删除DIV元素?
    在保持其内容完整时,如何删除DIV元素?
    在保留其元素 display:cottents;在这种情况下是理想的选择。它导致元素的孩子出现为父母的直接子女,无视元素本身。当使用CSS网格或其他应该忽略包装元素的布局技术时,这是有价值的。 。容器{ 显示:Flex; } 。一 { 显示:内容; } 。一个P:第一子女{ 订单:2...
    编程 发布于2025-02-19

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3