Jupyter notebook初探

Jupyter notebook 是什么

Jupyter notebook 是一种 Web 应用,能让用户将说明文本、数学方程、代码和可视化内容全部组合到一个易于共享的文档中。
Jupyter Notebook 已迅速成为处理数据的必备工具。其用途包括数据清理和探索、可视化、机器学习和大数据分析
(摘之百度)
notebook的想法是直接在代码旁边展现描述性的文字,而不是另外起一个文档记录
说点题外话:最近,文字表达化编程这个概念已经发展成为一门完整的编程语言,即 Eve

notebook 如何工作

最初,notebook 的工作方式是,将来自 Web 应用(你在浏览器中看到的 notebook)的消息发送给 IPython 内核(在后台运行的 IPython 应用程序)。内核执行代码,然后将结果发送回 notebook。
摘自jupyter文档
摘自jupyter文档

此架构的一个优点是,内核无需运行 Python。由于 notebook 和内核分开,因此可以在两者之间发送任何语言的代码。例如,早期的两个非 Python 内核分别是 R 语言和 Julia 语言。使用 R 内核时,用 R 编写的代码将发送给执行该代码的 R 内核,这与在 Python 内核上运行 Python 代码完全一样。IPython notebook 已被改名,因为 notebook 变得与编程语言无关。新的名称 Jupyter 由 Julia、Python 和 R 组合而成。如果有兴趣,不妨看看可用内核的列表。

另一个优点是,你可以在任何地方运行 notebook 服务器,并且可通过互联网访问服务器。通常,你会在存储所有数据和 notebook 文件的自有计算机上运行服务器。但是,你也可以在远程计算机或云实例(如 Amazon 的 EC2)上设置服务器。之后,你就可以在世界上任何地方通过浏览器访问 notebook。

如何安装jupyter呢

方式一:pip

pip install jupyter notebook

方式二:conda 如果你有安装Anaconda的话,如何安装查看我的上篇Anaconda初探

conda install jupyter notebook

如何启动jupyter呢

在命令行中键入

jupyter notebook

就会自动打开浏览器了
这里我有报一个错误:

Traceback (most recent call last):
File "C:\Users\v-kangsa\AppData\Local\Continuum\anaconda3\Scripts\jupyter-notebook-script.py", line 6, in 
from notebook.notebookapp import main
File "C:\Users\v-kangsa\AppData\Local\Continuum\anaconda3\lib\site-packages\notebook\__init__.py", line 25, in 
from .nbextensions import install_nbextension
File "C:\Users\v-kangsa\AppData\Local\Continuum\anaconda3\lib\site-packages\notebook\nbextensions.py", line 27, in 
from jupyter_core.utils import ensure_dir_exists
ImportError: cannot import name 'ensure_dir_exists'

解决方案是更新一下内核

conda update jupyter_core jupyter_client

打开Notebook后
这里写图片描述
这里可以看到 notebooks 下面有python3 scala2.10 这样的
是说明我能安装了什么内核
顶部的选项卡是 Files(文件)、Running(运行)和 Cluster(集群)。
Files(文件)显示当前目录中的所有文件和文件夹。
Running(运行)选项卡会列出所有正在运行的 notebook。可以在该选项卡中管理这些 notebook。
Clusters(集群)中创建多个用于并行计算的内核。现在,这项工作已经由 ipyparallel 接管,因此该选项卡如今用处不多。

那么我们点击一下new – python3 创建一个 notebook
那么会看见下面这个
这里写图片描述
这个绿色的我们叫它单元格:是写代码和运行代码的地方,你可以在上面切换格式,code ,markdown等等
播放键是用来运行代码的,上下是移动位置的

In [1]:  #[]里面的是用来显示运行顺序的

工具栏
从左侧开始,工具栏上的其他控件是:

  • 软盘符号表示“保存”。请记得保存 notebook!
  • 按钮用于创建新的单元格
  • 然后是用于剪切、复制和粘贴单元格的按钮。
  • 运行、停止、重新启动内核
  • 单元格类型:代码、Markdown、原始文本和标题
  • 命令面板(见下文)
  • 单元格工具栏,提供不同的单元格选项(例如将单元格用作幻灯片)

命令面板
小键盘符号代表命令面板。点击它会弹出一个带有搜索栏的面板,供你搜索不同的命令。这能切实帮助你加快工作速度,因此你将无需使用鼠标翻查各个菜单。你只需打开命令面板,然后键入要执行的操作。例如,如果要合并两个单元格:

顶部显示了标题。点击它可以将 notebook 重命名。

右侧是内核类型(在我的例子中是 Python 3),旁边是一个小圆形。在内核运行单元格时,会填充这个小圆形。对于大多数快速运行的操作,并不会填充它。它是一个小型指示器,在代码会运行较久时让你知道其实际是在运行中的。

工具栏包含了保存按钮,但 notebook 也会定期自动保存。标题右侧会注明最近一次的保存。你可以使用保存按钮手动进行保存,也可以按键盘上的 Esc,然后按 s。按 Esc 键会变为命令模式,而 s 是“保存”的快捷键。我会在后面介绍命令模式和快捷键。

在“File”(文件)菜单中,你可以选择多种格式进行 notebook 的下载。通常,你会希望将它作为 HTML 文件下载,以便与不使用 Jupyter 的其他人共享。也可以将 notebook 作为普通的 Python 文件下载,此时所有代码都会像平常一样运行。要在博客或文档中使用 notebook,Markdown 和 reST 格式很合适 (摘自网络,联系侵删)
然后这里提供一个.ipynb的文件来帮助你更好的理解Jupyter notebook (喜欢就给星星吧)

还有很多markdown的功能就不多加赘述了,可以在网上查到很多
但是这里要提示一下 在 Markdown 单元格中,可以使用 LaTeX 符号创建数学表达式。如果没有了解LATex推荐阅读这篇入门文章

markdown速查指南

快捷键

这里也依然给出一个练习文件 觉得好的话给个小星星吧

Magic 关键字

Magic 关键字是可以在单元格中运行的特殊命令,能让你控制 notebook 本身或执行系统调用
Magic 命令的前面带有一个或两个百分号(% 或 %%),分别对应行 Magic 命令和单元格 Magic 命令

这里写图片描述

%timeit 统计该单元格运行的时间
%%timeit 统计整个单元格运行的时间

嵌入可视化内容

%matplotlib inline
# 提示:在分辨率较高的屏幕(例如 Retina 显示屏)上,notebook 中的默认图像可能会显得模糊。可以在 %matplotlib inline 之后使用 
%config InlineBackend.figure_format = 'retina' 
# 来呈现分辨率较高的图像。

调试

%pdb  # 用于开启调试

了解详情 Pdb

还有更多的magic 字段 点击了解

然后我用编辑器打开的时候,实际上notebook本质上就是一个Json
由于是json,所以可以轻松的转换成html,markdown,幻灯片等格式

jupyter nbconvert --to html notebook.ipynb

在终端使用这命令
要了解nbconvert 请阅读文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值