Jupyter Notebook还有魔术命令?太好使了
2023-11-05 21:56:22 软件 275观看
摘要在Jupyter Notebooks中,Magic commands(以下简称魔术命令)是一组便捷的功能,旨在解决数据分析中的一些常见问题,可以使用%lsmagic 命令查看所有可用的魔术命令:魔术命令通常分为两种:行魔术(line magics),其前缀为单个 % 字符,作

在Jupyter Notebooks中,Magic commands(以下简称魔术命令)是一组便捷的功能,旨在解决数据分析中的一些常见问题,可以使用%lsmagic 命令查看所有可用的魔术命令:VgF28资讯网——每日最新资讯28at.com

VgF28资讯网——每日最新资讯28at.com

魔术命令通常分为两种:VgF28资讯网——每日最新资讯28at.com

  • 行魔术(line magics),其前缀为单个 % 字符,作用于单行输入
  • 单元魔术(cell magics),其前缀为双重 %%,作用于多行输入

以下列举一些在常见任务中用的较多的魔术命令,一起看看吧。VgF28资讯网——每日最新资讯28at.com

%matplotlib notebook

%matplotlib inline 函数用于在Jupyter notebook中呈现静态的matplotlib图表,若将 inline 替换为 notebook 可以得到可缩放和调整大小的图表,确保在导入matplotlib库之前调用该函数。VgF28资讯网——每日最新资讯28at.com

VgF28资讯网——每日最新资讯28at.com

%run

%run 函数用于在Jupyter Notebook中运行一个Python脚本。VgF28资讯网——每日最新资讯28at.com

% pastebin

%pastebin 命令将代码上传到Pastebin并返回URL。Pastebin是一个在线内容托管服务,可以在其中存储纯文本,如源代码片段,然后可以与他人共享URL(与GitHub Gist类似)。VgF28资讯网——每日最新资讯28at.com

比如存在一个Python文件 file.py,内容如下:VgF28资讯网——每日最新资讯28at.com

#file.pydef foo(x):    return x

在Jupyter Notebook中使用 %pastebin 会生成一个Pastebin URL:VgF28资讯网——每日最新资讯28at.com

VgF28资讯网——每日最新资讯28at.com

%debug

如果在运行代码单元格时出现异常,可以在新行中键入 %debug 并运行它。这将打开一个交互式调试环境,将用户带到异常发生的位置,还可以检查程序中变量的值,并执行操作,要退出调试器,可以按 q:VgF28资讯网——每日最新资讯28at.com

VgF28资讯网——每日最新资讯28at.com

%%writefile

%%writefile 将单元格的内容写入文件。如该例,代码将被写入一个名为 foo.py 的文件,并保存在当前目录中:VgF28资讯网——每日最新资讯28at.com

VgF28资讯网——每日最新资讯28at.com

%%latex

%%latex 函数将单元格的内容呈现为LaTeX。这对于在单元格中编写数学公式和方程式肥肠有用:VgF28资讯网——每日最新资讯28at.com

VgF28资讯网——每日最新资讯28at.com

%%time

使用 %%time 来获取运行代码单元格所用的时间:VgF28资讯网——每日最新资讯28at.com

VgF28资讯网——每日最新资讯28at.com

%whos

查看已定义的变量列表,可以使用 %whos 或 %who_ls:VgF28资讯网——每日最新资讯28at.com

VgF28资讯网——每日最新资讯28at.com

到这里一些常用的魔术命令就介绍完毕,感兴趣的可以将每个magic方法拿出来试试。但文章到这没结束,想着继续补充一些朱皮特相关的其他操作。VgF28资讯网——每日最新资讯28at.com

pprint

如果希望打印的数据结构的清晰且美观,pprint 是一个很好的模块(不仅在jupyter,终端啥的俺也常用),在打印字典数据时,尤其有用,如下示例,对比演示如何使用 print 和 pprint 来显示输出:VgF28资讯网——每日最新资讯28at.com

VgF28资讯网——每日最新资讯28at.com

VgF28资讯网——每日最新资讯28at.com

突出显示

我们可以在Jupyter中使用提示/注释框来突出显示一些重要的内容或需要引起注意的内容,提示框的颜色取决于指定的提示类型,只需在需要突出显示的单元格中添加以下任意代码:VgF28资讯网——每日最新资讯28at.com

(1) 蓝色信息框VgF28资讯网——每日最新资讯28at.com

<div class="alert alert-block alert-info"><b>Tip:</b> Use blue boxes (alert-info) for tips and notes. If it’s a note, you don’t have to include the word “Note”.</div>

VgF28资讯网——每日最新资讯28at.com

(2) 黄色警示框VgF28资讯网——每日最新资讯28at.com

<div class="alert alert-block alert-warning"><b>Example:</b> Yellow Boxes are generally used to include additional examples or mathematical formulas.</div>

VgF28资讯网——每日最新资讯28at.com

(3) 绿色“成功”信息框VgF28资讯网——每日最新资讯28at.com

<div class="alert alert-block alert-success">Use green box only when necessary like to display links to related content.</div>

VgF28资讯网——每日最新资讯28at.com

(4) 红色报警框VgF28资讯网——每日最新资讯28at.com

<div class="alert alert-block alert-danger">It is good to avoid red boxes but can be used to alert users to not delete some important part of code etc. </div>

VgF28资讯网——每日最新资讯28at.com

打印单元格内所有输出

考虑以下示例:VgF28资讯网——每日最新资讯28at.com

In  [1]: 10+5                   11+6Out [1]: 17

这是一个普通单元格的属性,只有最后一个输出会被打印,若想打印其他程序输出,除了挨个进行 print() ,还可以通过在jupyter顶部添加以下片段来打印所有输出:VgF28资讯网——每日最新资讯28at.com

from IPython.core.interactiveshell import InteractiveShellInteractiveShell.ast_node_interactivity = "all"

然后可得到如下结果:VgF28资讯网——每日最新资讯28at.com

In  [1]: 10+5                   11+6         12+7Out [1]: 15Out [1]: 17Out [1]: 19

若想恢复默认设置:VgF28资讯网——每日最新资讯28at.com

InteractiveShell.ast_node_interactivity = "last_expr"

批量注释

Ctrl/Cmd + / 自动注释掉单元格中选定的行, 再次按住该组合键将取消同一行代码的注释。VgF28资讯网——每日最新资讯28at.com

误删恢复

  • 如果删除了单元格的内容,可以通过按下 CTRL/CMD+Z 恢复它
  • 如果需要恢复整个已删除的单元格,按 ESC+Z 或选择 EDIT > Undo Delete Cells

VgF28资讯网——每日最新资讯28at.com

以上就是本期的全部内容,期待点赞在看,我是啥都生,下次再见!VgF28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-17014-0.htmlJupyter Notebook还有魔术命令?太好使了

声明:本网页内容旨在传播知识,不代表本站观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。

显示全文

上一篇:五个使用IntelliJ IDEA优化Java代码的小技巧

下一篇:使用匿名函数在Golang中的好处

最新热点