Jupyter Notebook常用技巧

常用魔法命令

魔法命令是用于控制notebook的特殊命令,他们运行在代码单元中,以%或者%%开头,前者控制单行,后者控制单元

  • ?

查看帮助文档
id ?
np.*load*? 说明还可以匹配

  • ??

用于查看源代码
timeit?? 一些C实现的源码无法查看

  • ! or %%!

用于执行shell命令
!dir
! python --version

%%!
dir

  • %matplotlib inline

Matplotlib可以内嵌于Jupyter notebook中使用
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(20)
y = x**2
plt.plot(x, y)

  • %%time

给出单元代码运行一次所花的时间
%%time
import time
for _ in range(1000):
time.sleep(0.01)

  • %timeit

使用Python的timeit模块执行一个语句100000次(默认情况下),然后给出运行最快三次的平均值,一般用来测试单行代码
import numpy
%timeit numpy.random.normal(size=100)

  • %pwd

查看当前工作目录,或者将它保存在一个字符串中
current_path = %pwd

  • %magic

查看所有魔法命令的说明文档

  • %ls

查看目录文件列表

  • %hist

打印输出历史

锚与扩展功能

在notebook文档中,也可以设置类似HTML文档中的锚,实现内部跳转功能。

  • 在目的地处添加a标签,并提供一个明确的id名称,比如:
    这里是跳转目的地!
    将单元格改成markdown类型,并执行。
  • 在需要跳转处,编辑内容如下:
    [跳转](#des1)
    提供入对应id的名字,将单元改为Markdown,执行单元。
  • 现在就可以尝试一下跳转了!

扩展功能

Jupyter默认情况下是没有安装扩展工具的,我们可以利用Jupyter notebook extensions进行扩展。下面我们以目录工具为例,来介绍如何安装扩展工具:

  • 首先在Anaconda中安装Jupyter Notebook extensions :

  • conda install -c conda-forge jupyter_contrib_nbextensions

几个比较好用的工具

推荐几个比较好用的扩展工具:

  • Code prettify:重新格式化和美化代码块的内容。
  • Printview:这个扩展添加了一个工具栏按钮来调用当前Notebook的 jupyter nbconvert,并可选择在新的浏览器标签中显示转换后的文件。
  • Scratchpad:这个扩展增加一个便捷单元格,它可以让你运行你的代码而不必修改你的Notebook。这是一个非常方便的扩展,特别是当你想要测试你的代码,但不想在你的活动Notebook上做这件事的时候。
  • Hinterland:让你每敲完一个键,就出现下拉菜单,可以直接选中你需要的词汇。
  • Snippets:在工具栏里加了一个下拉菜单,可以非常方便的直接插入代码段,完全不用手动敲。
  • Split Cells Notebook:拆分单元格
  • Autopep8:一键美化代码,符合PEP8规范,强迫症的福音。

你可能感兴趣的:(工具)