jupyter notebook
与jupyter lab
作为广受欢迎的ide,尤其适合开展数据分析相关工作,而掌握它们相关的一些实用技巧,势必会大大提升日常工作效率。而今天我就来给大家介绍9个非常实用的jupyter
小技巧~
图1
我们都知道,在jupyter
中同一个cell内,如果不使用print
等函数,那么就只有最后一个调用的变量结果会被打印显示出来:
图2
而只要配合ipython
执行下列代码之后,就可以实现多输出结果的打印:
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = 'all'
图3
可以看到,这时我们无论输出几个元素都会被打印出来非常方便~
在jupyter
中我们可以利用!
加上终端命令的形式,在单元格中直接执行命令,非常的方便(但要注意如果有需要输入y/n确认等情况,请把类似-y的参数带上否则无法继续):
图4
有些情况下,我们需要搞清楚当前kernel下有哪些已被创建的变量,这时魔法命令%who
就非常实用:
图5
也可以带上参数输出指定类型的变量名:
图6
很多情况下,我们针对同一个单元格内的代码,要修改的地方比较多的话,就可以配合jupyter
中的多光标模式,譬如按住ctrl
键点击不同的地方:
图7
或者按住alt
迅速矩形选择(会按照每行相同字符数进行选择):
图8
当我们的一段程序需要运行较长时间时,我们往往不会干守着它运行完成,这时可以利用一些小技巧,在程序运行完成后给自己响起闹钟提示,譬如在windows
下可以参考下面的例子设置,大家可以亲自试一试非常的有意思~:
import winsound
import time
# 假装执行耗时任务
time.sleep(10)
duration = 3000 # 3000毫秒即3秒
freq = 440 # 设置响声频率
# 闹钟响起
winsound.Beep(freq, duration)
有些时候我们在编程时可能会忘记某个函数或方法的全称,只依稀记得其中的某个单词或片段,这种情况下我们就可以参考下列方式使用*通配符进行模糊查询:
图9
jupyter
默认情况下是不显示代码行标的,这在我们执行出错之后很是不好寻找到底是哪一行出错,事实上我们可以通过设置来解决这个问题,譬如jupyter lab
中设置方式如下:
图10
我们在用matplotlib
绘图时一定遇到过显示图像的同时跟着输出了一段文字,这是因为matplotlib
的很多API是有返回值的,因此我们只需要最后一行末尾加上;
阻止输出即可:
图11
在很多情况下,我们书写代码导入各种三方库之后,会习惯性的打印出各种版本信息,从而辅助之后的代码复用,这种情况下我们就可以配合watermark
来自动帮我们干这些事。
利用pip install watermark
安装完成后,就可以参照下面的方式给自己的notebook
添加各种记录信息~
图12