jupyter入门
程序员文章站
2022-05-29 09:12:50
...
- 基本操作
- 以In[ ]开头表示这是一个代码单元。在代码单元里,你可以输入任何代码并执行。例如,键盘输入1+2,然后按“Shift+Enter”,代码将被运行,并显示结果。同时,切换到新的cell中。
- 你也可以手动添加cell,在insert->insert cell above/below
- 添加markdown并预览:
- 添加一个新行,cell->cell type 设置为markdown
- 要进行预览,直接点击运行或者“shift+enter”
- 重命名:file->rename
- 快捷键
- 如果你在cell的编辑状态[边框颜色为绿色],需要按
Esc
退出,在执行快捷键 -
H
按键可以呼出快捷键列表 -
P
键查找命令并执行 - 如果不行可以在Help->keyboard shortcuts
- Esc + F 在代码中查找、替换,忽略输出。
- Esc + O 在cell和输出结果间切换。
- 选择多个cell:
- Shift + J 或 Shift + Down 选择下一个cell。
- Shift + K 或 Shift + Up 选择上一个cell。
- 一旦选定cell,可以批量删除/拷贝/剪切/粘贴/运行。当你需要移动notebook的一部分时这个很有用。
- Shift + M 合并cell.
- 如果你在cell的编辑状态[边框颜色为绿色],需要按
- 变量显示
- 有一点已经众所周知。把变量名称或没有定义输出结果的语句放在cell的最后一行,无需print语句,Jupyter也会显示变量值。当使用Pandas DataFrames时这一点尤其有用,因为输出结果为整齐的表格。
- 鲜为人知的是,你可以通过修改内核选项ast_note_interactivity,使得Jupyter对独占一行的所有变量或者语句都自动显示,这样你就可以马上看到多个语句的运行结果了。
from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = "all"
- 如果你想在各种情形下(Notebook和Console)Jupyter都同样处理,用下面的几行简单的命令创建文件~/.ipython/profile_default/ipython_config.py即可实现:
c = get_config() # Run all nodes interactively c.InteractiveShell.ast_node_interactivity = "all"
from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = "all" from pydataset import data quakes = data('quakes') quakes.head() quakes.tail()
- 查看文档
- 在Help 菜单下,你可以找到常见库的在线文档链接,包括Numpy,Pandas,Scipy和Matplotlib等。
另外,在库、方法或变量的前面打上?,即可打开相关语法的帮助文档。
?str.replace()
- 在Help 菜单下,你可以找到常见库的在线文档链接,包括Numpy,Pandas,Scipy和Matplotlib等。
- Jupyter Magic命令
- 文档
- Jupyter Magic-%env:设置环境变量:%env OMP_NUM_THREADS=4
- Jupyter Magic - %run: 运行python代码,%run 可以运行.py格式的python代码——这是众所周知的。不那么为人知晓的事实是它也可以运行其它的jupyter notebook文件,这一点很有用。 %run ./test.ipynb
- Jupyter Magic -%load:从外部脚本中插入代码,加载一个文件,使之成为当前cell的内容 比如:%load ./hello_world.py
- Jupyter Magic - %store: 在notebook文件之间传递变量,存:%store 变量名,取:%store -r 变量名
- Jupyter Magic - %who: 列出所有的全局变量,后面加类型比如str就能列出所有str类型的全局变量
- Jupyter Magic – 计时, %%time 和 %timeit.当你有一些很耗时的代码,想要查清楚问题出在哪时,这两个命令非常给力。 %%time 会告诉你cell内代码的单次运行时间信息。%%timeit 使用了Python的 timeit 模块,该模块运行某语句100,000次(默认值),然后提供最快的3次的平均值作为结果。
- %%time
- 输入
In [4]: %%time import time for _ in range(1000): time.sleep(0.01)# sleep for 0.01 seconds
- 输出:
CPU times: user 21.5 ms, sys: 14.8 ms, total: 36.3 ms Wall time: 11.6 s
- %%timeit
- 输入
In [3]: import numpy %timeit numpy.random.normal(size=100)
- 输出
The slowest run took 7.29 times longer than the fastest. This could mean that an intermediate result is being cached. 100000 loops, best of 3: 5.5 µs per loop
- %%time
- Jupyter Magic - %%writefile and %pycat:导出cell内容/显示外部脚本的内容,使用%%writefile filename可以保存cell的内容到外部文件。 而%pycat功能相反,把外部文件语法高亮显示(以弹出窗方式)。
- Jupyter Magic - %prun: 告诉你程序中每个函数消耗的时间,%prun some_useless_slow_function()
- Jupyter Magic –用%pdb调试程序
- 运行Shell命令:
!ls *.py
列出所有的py文件 - 用LaTex 写公式:[等会,简书支持科学公式了????]
- 行内公式:
- 独占一行:
- 执行shell命令
!ls
- 在jupyter里作图
- matplotlib (事实标准),可通过%matplotlib inline **,详细链接
- matplotlib notebook 提供交互性操作,但可能会有点慢,因为响应是在服务器端完成的。
- mpld3 提供matplotlib代码的替代性呈现(通过d3),虽然不完整,但很好。
- bokeh 生成可交互图像的更好选择。
上一篇: CentOS 7下源码编译安装最新版Linux 4.x内核
下一篇: RTL8188EU