专栏首页浊酒清味Jupyter Notebook 使用手册

Jupyter Notebook 使用手册

对于交互式开发和呈现数据科学项目来说,Jupyter笔记本是一个非常强大的工具。本文将指导您如何在本地计算机上设置Jupyter笔记本,以及如何开始使用它来执行Python程序。

什么是“笔记本(notebook)”?记事本将代码及其输出集成到一个文档中,该文档结合了可视化、叙述性文本、数学方程和其他富媒体。这种直观的工作流程促进了迭代和快速的开发,使笔记本在当代数据科学、分析和越来越广泛的科学的核心领域成为越来越受欢迎的选择。

最重要的是,作为开源项目Jupyter的一部分,它们是完全免费的。

01

安装Jupyter Notebook

Python中没有包含Jupyter笔记本,所以如果您想试用它,您需要安装Jupyter。

我们有两种方法可以安装Notebook:

你可以使用Python自带的一个叫做pip的工具来安装Jupyter Notebook,如下图所示:

$ pip install jupyter

Python的一个最流行的发行版是Anaconda。Anaconda有自己的安装工具conda,可以用来安装第三方包。然而,Anaconda预装了许多科学包,包括Jupyter Notebook,所以你实际上不需要做任何事情,除了安装Anaconda本身。

02

启动Notebook

现在已经安装了Jupyter Notebook,让我们学习如何使用它。首先,你需要做的就是打开你的终端应用程序,进入你选择的文件夹。我建议你从你的文档文件夹开始,然后创建一个叫做“笔记本”的子文件夹,或者其他容易记住的文件夹。

然后到你终端的那个位置,运行以下命令:

$ jupyter notebook

另外,使用Windows系统的用户,可以找到快捷方式打开。例如,我是通过Anaconda安装的Notebook,就可以按照下图所示打开notebook

这将启动Jupyter,您的默认浏览器应该启动(或打开一个新选项卡)到以下URL: http://localhost:8888/tree

你的浏览器现在应该是这样的:

03

建立一个笔记

既然您已经知道如何启动一个记事本服务器,那么您可能应该学习如何创建一个实际的记事本文档。

您所需要做的就是单击New按钮(右上角),它将打开一个选项列表。在我的机器上,我碰巧安装了python2和python3,所以我可以创建一个使用这两种语言的笔记本。为了简单起见,我们选择python3。

你的网页现在应该是这样的:

04

命名

您将注意到在页面的顶部是“Untitled”这个单词。这是页面的标题和笔记本的名称。既然那不是一个描述性很强的名字,我们就把它改一下吧!

只需将鼠标移动到“无题(Untitled)”一词上,然后单击文本。您现在应该看到一个名为Rename Notebook的浏览器对话框。让我们把这个重命名为Hello Jupyter:

05

运行cells

记事本的单元格(cell)默认在您首次创建代码时使用代码,并且该单元格使用您在启动记事本时选择的内核。

在本例中,您的内核是python3,这意味着您可以在代码单元中编写Python代码。因为你最初的笔记本只有一个空单元格,所以它不能做任何事情。

因此,要验证一切是否正常工作,可以向单元格添加一些Python代码并尝试运行其内容。

让我们尝试添加以下代码到该单元格:

print('Hello Jupyter!')

运行一个单元意味着您将执行单元的内容。要执行单元格,只需选择单元格并单击沿顶部按钮行中的Run按钮。它在中间。如果你喜欢用键盘,你可以直接按

Shift+Enter.

当我运行上面的代码时,输出如下:

如果您的笔记本中有多个单元格,并且按顺序运行单元格,那么您可以跨单元共享您的变量和导入。这使得将代码分成逻辑块变得很容易,而不需要重新导入库或在每个单元中重新创建变量或函数。

当您运行一个单元格时,您会注意到在单元格左侧的单词旁边有一些方括号。方括号将自动填充一个数字,该数字指示您运行单元格的顺序。例如,如果您打开一个新的笔记本并运行笔记本顶部的第一个单元格,方括号将填充数字1。

06

添加丰富的内容

Jupyter Notebook支持添加丰富的内容到其单元格。在本节中,您将概述使用标记和代码对单元格进行的一些操作。

cell类型

技术上有四种单元格类型:代码、Markdown、Raw NBConvert和标题。

您已经了解了代码单元格的工作方式,现在让我们学习如何使用Markdown对文本进行样式设置。

Jupyter Notebook支持Markdown,这是一种标记语言,是HTML的超集。设置一个新的单元格标记,然后添加以下文字到单元格:

当你运行cell,输出应该是这样的:

在Markdown中创建标头也非常简单。你只需要使用不起眼的#号。使用的#符号越多,标题越小。木星笔记本甚至可以为你预览一下:

然后当你运行单元格时,你会得到一个格式良好的标题:

07

导出

当你使用Jupyter的时候,你会发现你需要和非技术人员分享你的成果。当这种情况发生时,您可以使用nbconvert工具,该工具与Jupyter笔记本一起提供,可以将您的笔记本转换或导出为以下格式之一:

  • HTML
  • LaTeX
  • PDF
  • RevealJS
  • Markdown
  • ReStructured Text
  • Executable script

如何使用nbconvert

基本的转换命令是这样的:假设您有一个名为py_examples的笔记本。你想把它转换成PDF格式。下面是你可以使用的命令:

$ jupyter nbconvert py_examples.ipynb --to pdf

09

结语

Jupyter不仅对学习和教授Python等编程语言非常有用,而且对共享数据也非常有用。你可以把你的笔记本变成幻灯片,也可以和GitHub在线分享。如果你想共享一个笔记本而不需要你的用户安装任何东西,你可以使用活页夹。

强烈推荐使用

本文分享自微信公众号 - Python与机器学习之路(gh_39aead19f756),作者:Huangwei AI

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-11-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 神器Jupyter Notebook如何适应数据科学的发展方向

    这是关于Jupyter Notebook生态系统的三篇博文的第一篇。这篇文章将讨论数据科学的前景,以及推动我们的工具发展的力量。

    HuangWeiAI
  • JupyterLab: 神器Jupyter Notebook的进化版,结合传统编辑器优势,体验更完美

    近年来,Jupyter Notebook作为一种以交互和良好的布局方式显示代码和结果的工具受到了广泛的关注。它当然有助于降低编程的门槛,并有助于教学,因为输入和...

    HuangWeiAI
  • 神器与神器:微软宣布VsCode支持Jupyter Notebook

    大家都知道Jupyter Notebook是一款编写Python的神器,然而编辑Jupyter Notebook离不开网页,很多本地的编辑器都不支持编译Note...

    HuangWeiAI
  • 微软VS Code已原生支持Jupyter笔记本,再也不用打开网页调试运行了

    本月,微软给VS Code加入了一项令人感到惊喜的功能:直接在编辑器中运行调试Jupyter Notebook,而无需任何第三方插件。

    量子位
  • Python编程神器Jupyter Notebook使用的28个秘诀(附代码)

    [ 导读 ]最近做实验一直是用Jupyter Notebook编程,有一种打草稿的便捷感,在dataquest上看到一篇博客总结了28种Jupyter Note...

    数据派THU
  • 100多个Jupyter精选资源合集!GitHub高赞,包括项目、库、教程等11个方面

    Jupyter,一个开源的Web应用程序,能在网页页面中直接编写代码、运行代码、显示代码结果、编写说明文档等等。

    量子位
  • 0740-1.6.1-CDSW中定制docker无法使用Jupyter Notebook问题

    当使用该引擎启动Session时,只有Workbench选项,没有Jupyter Notebook选项

    Fayson
  • Spread for Windows Forms快速入门(4)---常用的单元格类型(上)

    单元格类型定义了在单元格中呈现的信息的类型,以及这种信息如何显示,用户如何与其进行交互。单元格类型可以被赋给单个的单元格,整行或者整列。 用户可以使用两种不同的...

    葡萄城控件
  • 怎样将Excel包含某字符的单元格填充颜色

      在处理数据的时候,xmyanke想将Excel中包含某字符的单元格填充蓝色,比较容易看清,弄了好一阵子都没完成,最后试用条件格式处理了一下,终于实现了。  ...

    ytkah
  • 单细胞转录组探索乳腺癌来源的内皮细胞

    文章发表于:Oncotarget. 2018; 题目是:Single-cell RNA sequencing reveals gene expression s...

    生信技能树jimmy

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动