数智资源网
首页 首页 大数据 大数据入门 查看内容

Jupyter Notebook的27个窍门,技巧和快捷键

木马童年 2020-10-17 21:06 11 0

Jupyther notebook ,也就是一般说的 Ipython notebook,是一个可以把代码、图像、注释、公式和作图集于一处,从而实现可读性分析的一种灵活的工具。Jupyter延伸性很好,支持多种编程语言,可以很轻松地安装在个人电 ...

Jupyther notebook ,也就是一般说的 Ipython notebook,是一个可以把代码、图像、注释、公式和作图集于一处,从而实现可读性分析的一种灵活的工具。

Jupyter延伸性很好,支持多种编程语言,可以很轻松地安装在个人电脑或者任何服务器上——只要有ssh或者http接入就可以啦。最棒的一点是,它完全免费哦。

  Jupyter Notebook的27个窍门,技巧和快捷键

Jupyter 界面

默认情况下,Jupyter Notebook 使用Python内核,这就是为什么它原名 IPython Notebook。Jupyter notebook是Jupyter项目的产物——Jupyter这个名字是它要服务的三种语言的缩写:Julia,PYThon和R,这个名字与“木星(jupiter)”谐音。本文将介绍27个轻松使用Jupyter的小窍门和技巧。

1.快捷键

高手们都知道,快捷键可以节省很多时间。Jupyter在顶部菜单提供了一个快捷键列表:Help > Keyboard Shortcuts 。每次更新Jupyter的时候,一定要看看这个列表,因为不断地有新的快捷键加进来。另外一个方法是使用Cmd + Shift + P ( Linux 和 Windows下 Ctrl + Shift + P亦可)调出命令面板。这个对话框可以让你通过名称来运行任何命令——当你不知道某个操作的快捷键,或者那个操作没有快捷键的时候尤其有用。这个功能与苹果电脑上的Spotlight搜索很像,一旦开始使用,你会欲罢不能。

  Jupyter Notebook的27个窍门,技巧和快捷键

几个我的最爱:

Esc + F 在代码中查找、替换,忽略输出。

Esc + O 在cell和输出结果间切换。

选择多个cell:

Shift + J 或 Shift + Down 选择下一个cell。

Shift + K 或 Shift + Up 选择上一个cell。

一旦选定cell,可以批量删除/拷贝/剪切/粘贴/运行。当你需要移动notebook的一部分时这个很有用。

Shift + M 合并cell.

  Jupyter Notebook的27个窍门,技巧和快捷键

2.变量的完美显示

有一点已经众所周知。把变量名称或没有定义输出结果的语句放在cell的最后一行,无需print语句,Jupyter也会显示变量值。当使用Pandas DataFrames时这一点尤其有用,因为输出结果为整齐的表格。

鲜为人知的是,你可以通过修改内核选项ast_note_interactivity,使得Jupyter对独占一行的所有变量或者语句都自动显示,这样你就可以马上看到多个语句的运行结果了。

In [1]: from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = "all"In [2]: from pydataset import data quakes = data('quakes') quakes.head() quakes.tail()Out[2]: lat long depth mag stations 1 -20.42 181.62 562 4.8 41 2 -20.62 181.03 650 4.2 15 3 -26.00 184.10 42 5.4 43 4 -17.97 181.66 626 4.1 19 5 -20.42 181.96 649 4.0 11Out[2]: lat long depth mag stations 996 -25.93 179.54 470 4.4 22 997 -12.28 167.06 248 4.7 35 998 -20.13 184.20 244 4.5 34 999 -17.40 187.80 40 4.5 14 1000 -21.59 170.56 165 6.0 119

如果你想在各种情形下(Notebook和Console)Jupyter都同样处理,用下面的几行简单的命令创建文件~/.ipython/profile_default/ipython_config.py即可实现:

c = get_config()# Run all nodes interactivelyc.InteractiveShell.ast_node_interactivity = "all"

3.轻松链接到文档

在Help 菜单下,你可以找到常见库的在线文档链接,包括Numpy,Pandas,Scipy和Matplotlib等。

另外,在库、方法或变量的前面打上?,即可打开相关语法的帮助文档。

In [3]: ?str.replace()

Docstring:

S.replace(old, new[, count]) -> str

Return a copy of S with all occurrences of substring

old replaced by new. If the optional argument count is

given, only the first count occurrences are replaced.

Type: method_descriptor

4.在notebok里作图

在notebook里作图,有多个选择:

- matplotlib (事实标准),可通过%matplotlib inline 激活 ,

- %matplotlib notebook 提供交互性操作,但可能会有点慢,因为响应是在服务器端完成的。

- mpld3 提供matplotlib代码的替代性呈现(通过d3),虽然不完整,但很好。

- bokeh 生成可交互图像的更好选择。

- plot.ly 可以生成非常好的图,可惜是付费服务。

  Jupyter Notebook的27个窍门,技巧和快捷键

5.Jupyter Magic命令

上文提到的%matplotlib inline 是Jupyter Magic命令之一。

推荐阅读Jupyter magic命令的相关文档

它一定会对你很有帮助。下面是我最爱的几个:

6.Jupyter Magic-%env:设置环境变量

不必重启jupyter服务器进程,也可以管理notebook的环境变量。有的库(比如theano)使用环境变量来控制其行为,%env是最方便的途径。

In [55]: # Running %env without any arguments

# lists all environment variables

# The line below sets the environment

# variable OMP_NUM_THREADS

%env OMP_NUM_THREADS=4

env: OMP_NUM_THREADS=4

7.Jupyter Magic-%run:运行python代码

%run 可以运行.py格式的python代码——这是众所周知的。不那么为人知晓的事实是它也可以运行其它的jupyter notebook文件,这一点很有用。

注意:使用%run 与导入一个python模块是不同的。

In [56]: # this will execute and show the output from

# all code cells of the specified notebook

%run ./two-histograms.ipynb

  Jupyter Notebook的27个窍门,技巧和快捷键

8.Jupyter Magic-%load:从外部脚本中插入代码

该操作用外部脚本替换当前cell。可以使用你的电脑中的一个文件作为来源,也可以使用URL。

In [ ]: # Before Running

%load ./hello_world.py

In [61]: # After Running

# %load ./hello_world.py

if __name__ == "__main__":

print("Hello World!")

Hello World!

9.Jupyter Magic-%store:在notebook文件之间传递变量

%store 命令可以在两个notebook文件之间传递变量。

In [62]: data = 'this is the string I want to pass to different notebook'

%store data

del data # This has deleted the variable

Stored 'data' (str)

现在,在一个新的notebook文档里……

In [1]: %store -r data

print(data)

this is the string I want to pass to different notebook                

编程语言 个人电脑
0
为您推荐
小甲鱼数据结构与算法,资源教程下载

小甲鱼数据结构与算法,资源教程下载

课程名称小甲鱼数据结构与算法,资源教程下载课程目录:01 数据结构和算法绪论02 谈谈…...

云帆大数据Hadoop从入门到上手企业开发8天学习视频,资源教程下载

云帆大数据Hadoop从入门到上手企业开发8天学习视频,

课程名称云帆大数据Hadoop从入门到上手企业开发8天学习视频,资源教程下载课程介绍超…...

数据分析工具之spss/amos精品课程零基础到精通,资源教程下载

数据分析工具之spss/amos精品课程零基础到精通,资源

课程名称数据分析工具之spss/amos精品课程零基础到精通,资源教程下载课程介绍Matlab…...

郝斌数据结构系列培训学习视频,资源教程下载

郝斌数据结构系列培训学习视频,资源教程下载

课程名称郝斌数据结构系列培训学习视频,资源教程下载课程目录01:什么叫做数据结构02…...

2017算法与数据结构C++精解-慕课网,资源教程下载

2017算法与数据结构C++精解-慕课网,资源教程下载

课程名称2017算法与数据结构C++精解-慕课网,资源教程下载课程目录第1章 当我们谈论算…...

Spark Streaming实时流处理项目实战,Spark与Spark Streaming核心架构系统实践课程下 ...

Spark Streaming实时流处理项目实战,Spark与Spark St

课程名称Spark Streaming实时流处理项目实战,Spark与Spark Streaming核心架构系统实…...