什么是Jupyter Notebook? 数据分析更轻松

Jupyter Notebook是一款用于数据科学的交互式环境,允许代码、注释、多媒体和可视化结合,便于代码分享和实时交互。它最初针对Python、R、Julia开发,尤其适合数据可视化和记录代码示例。用户可在浏览器中查看、执行代码并实时查看结果。虽然有局限,如需依赖运行时环境,不具备完整IDE功能,但JupyterLab作为其升级版,提供了更多扩展和定制可能性。
摘要由CSDN通过智能技术生成

在某个时候,我们所有人都需要展示我们的工作。 大多数编程工作都作为原始源代码或作为编译的可执行文件共享。 源代码提供了完整的信息,但是以一种“讲”而不是“显示”的方式。 该可执行文件向我们展示了该软件的功能,但是即使附带了源代码,也可能很难准确掌握其工作方式。

想象一下能够查看代码并在同一UI中执行代码,以便您可以对代码进行更改并立即实时查看这些更改的结果? 这就是Jupyter Notebook提供的功能。

[InfoWorld的基本知识: Anaconda入门,Anaconda是数据科学的Python发行版 Python的Anaconda发行版中的新增功能 5个用于数据科学的基本Python工具-现已改进 | 通过InfoWorld的App Dev Report新闻通讯了解编程方面的热门话题。 ]

创建Jupyter Notebook的目的是使其更容易显示一个人的编程工作,并使其他人参与其中。Jupyter Notebook允许您将代码,注释,多媒体和可视化结合在一个可以共享的交互式文档(自然称为Notebook)中。 ,重复使用和重新设计。

并且由于Jupyter Notebook通过Web浏览器运行,因此该笔记本本身可以托管在您的本地计算机或远程服务器上。

jupyter 00 IDG

具有文本,代码和可视化效果的Jupyter笔记本。 更改代码并在浏览器中实时运行它会更改输出,并且新结果可以保存到新笔记本中。

Jupyter Notebook的好处

Jupyter Notebook最初是为用Python,R和Julia编写的数据科学应用程序而开发的,它以各种方式对各种项目有用:

  • 数据可视化。 大多数人都是通过数据可视化来首次接触Jupyter Notebook的,这是一个共享的笔记本,其中包含一些数据集的图形显示。 Jupyter Notebook使您可以创作可视化,但也可以共享可视化,并允许对共享的代码和数据集进行交互式更改。
  • 代码共享。 像GitHub和Pastebin这样的云服务提供了共享代码的方法,但是它们基本上是非交互的。 使用Jupyter Notebook,您可以在网络浏览器中直接查看,执行代码并显示结果。
  • 与代码的实时交互。 Jupyter Notebook代码不是静态的。 可以实时编辑和重新运行它,直接在浏览器中提供反馈。 笔记本还可以嵌入可用作代码输入源的用户控件(例如,滑块或文本输入字段)。
  • 记录代码示例。 如果您有一段代码,并且想逐行解释它的工作方式,并且一直有实时反馈,则可以将其嵌入Jupyter Notebook。 最重要的是,该代码将保持完整的功能-您可以在说明,显示和讲述的同时添加交互性。

Jupyter Notebook组件

Jupyter笔记本可以包含多种成分,每种成分被组织为离散的块:

  • 文字和HTML。 可以在任何时候将纯文本或Markdown语法中注释的文本生成HTML。 CSS样式也可以内联或添加到用于生成笔记本的模板中。
  • 代码和输出。 尽管您可以在Jupyter环境中添加对其他语言(例如R或Julia)的支持,但是Jupyter Notebook笔记本中的代码通常是Python代码。 已执行代码的结果立即显示在代码块之后,并且可以按照您喜欢的任意顺序(任意次数)执行和重新执行代码块。
  • 可视化。 图形和图表可以通过代码(例如MatplotlibPlotlyBokeh)从代码生成。 像输出一样,这些可视化内容以内联方式显示在生成它们的代码旁边。 但是,如果需要,还可以将代码配置为将它们写到外部文件中。
  • 多媒体。 由于Jupyter Notebook基于Web技术构建,因此它可以显示Web页中支持的所有类型的多媒体。 您可以将它们作为HTML元素包含在笔记本中,也可以通过IPython.display模块以编程方式生成它们。
  • 数据。 数据可以与构成Jupyter Notebook笔记本的.ipynb文件一起在单独的文件中提供,也可以通过编程方式导入,例如,通过在笔记本中包含代码以从公共Internet存储库下载数据或通过数据库连接。

Jupyter Notebook用例

Jupyter Notebook最常见的用例是涉及数据或公式可视化的数据科学,数学和其他研究项目。 除了这些之外,还有许多其他用例:

  • 共享可视化效果,带有或不带有交互性。 人们经常将数据可视化的结果共享为静态图像,但这仅在一定程度上有用。 通过共享Jupyter笔记本,您可以让目标受众潜入并玩耍。 他们可以交互式地全面了解数据。
  • 用代码记录流程。 许多在博客中讲述其编程经验的程序员都在Jupyter笔记本中撰写其帖子。 其他人可以下载他们的笔记本并重新创建练习。
  • 库或模块的实时文档。 Python模块的大多数文档都是静态的。 Jupyter笔记本可用作交互式沙箱,用于学习模块的工作原理。 任何在笔记本界面中运行良好的Python模块(本质上是任何将stdout写入其行为的东西)都是一个很好的选择。
  • 通常共享代码和数据。 共享Jupyter笔记本及其相关数据文件所需要做的就是将其打包到一个档案中。

JupyterLab

Jupyter Notebook的下一代用户界面称为JupyterLab,现已上市,并已考虑用于生产。

正如在宣布全面可用性的博客文章中所解释的那样,JupyterLab比传统的Jupyter笔记本更具延展性,它允许用户在笔记本内和笔记本之间拖放单元格,并将工作区安排到单独的选项卡和小节中。 代码可以直接从文本文件以及Jupyter Notebook文件运行,并且可以使用实时预览呈现代码和数据的许多常见文件格式。

JupyterLab还可以通过扩展名进行定制,以添加对新文件格式的支持,丰富的界面或提供许多其他附加功能,从而实现比Jupyter Notebook更广泛的笔记本应用程序。 长期计划是用JupyterLab替换当前的Jupyter Notebook接口,但前提是必须证明JupyterLab足够稳定和可靠。

Jupyterlab IDG

JupyterLab是Jupyter Notebook的完全重新设计的前端。 除了在安排工作空间方面提供更大的灵活性之外,还可通过扩展自定义JupyterLab。

Jupyter Notebook的局限性

尽管Jupyter Notebook既强大又有用,但确实存在一些需要考虑的限制。

  • 笔记本不是独立的。 这是使用Jupyter Notebook的最大缺点:笔记本需要Jupyter运行时以及计划使用的所有库。 存在一些用于创建独立的Jupyter笔记本的策略,但是没有一个得到官方支持。 最好将笔记本分发给已经拥有运行它们的基础结构的人,或者不介意设置(例如通过Anaconda进行安装)。
  • 会话状态无法轻松保存。 使用Jupyter Notebook的默认工具集无法保留和恢复在Jupyter Notebook中运行的任何代码的状态。 每次加载笔记本时,都需要重新运行其中的代码以恢复其状态。
  • 没有交互式调试或其他IDE功能。 Jupyter Notebook不是一个成熟的Python开发环境。 您可能希望在IDE中找到许多功能,例如交互式调试,代码完成和模块管理,这些功能现在还不可用。

翻译自: https://www.infoworld.com/article/3347406/what-is-jupyter-notebook-data-analysis-made-easier.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值