Jupyter Notebook还有魔术命令?太好使了

在Jupyter Notebooks中,Magic commands(以下简称魔术命令)是一组便捷的功能,旨在解决数据分析中的一些常见问题,可以使用%lsmagic 命令查看所有可用的魔术命令:

成都创新互联公司-专业网站定制、快速模板网站建设、高性价比北关网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式北关网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖北关地区。费用合理售后完善,十余年实体公司更值得信赖。

魔术命令通常分为两种:

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

以下列举一些在常见任务中用的较多的魔术命令,一起看看吧。

%matplotlib notebook

%matplotlib inline 函数用于在Jupyter notebook中呈现静态的matplotlib图表,若将 inline 替换为 notebook 可以得到可缩放和调整大小的图表,确保在导入matplotlib库之前调用该函数。

%run

%run 函数用于在Jupyter Notebook中运行一个Python脚本。

% pastebin

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

比如存在一个Python文件 file.py,内容如下:

#file.py
def foo(x):
    return x

在Jupyter Notebook中使用 %pastebin 会生成一个Pastebin URL:

%debug

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

%%writefile

%%writefile 将单元格的内容写入文件。如该例,代码将被写入一个名为 foo.py 的文件,并保存在当前目录中:

%%latex

%%latex 函数将单元格的内容呈现为LaTeX。这对于在单元格中编写数学公式和方程式肥肠有用:

%%time

使用 %%time 来获取运行代码单元格所用的时间:

%whos

查看已定义的变量列表,可以使用 %whos 或 %who_ls:

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

pprint

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

突出显示

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

(1) 蓝色信息框

Tip: Use blue boxes (alert-info) for tips and notes. If it’s a note, you don’t have to include the word “Note”.

(2) 黄色警示框

Example: Yellow Boxes are generally used to include additional examples or mathematical formulas.

(3) 绿色“成功”信息框

Use green box only when necessary like to display links to related content.

(4) 红色报警框

It is good to avoid red boxes but can be used to alert users to not delete some important part of code etc.

打印单元格内所有输出

考虑以下示例:

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

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

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

然后可得到如下结果:

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

若想恢复默认设置:

InteractiveShell.ast_node_interactivity = "last_expr"

批量注释

Ctrl/Cmd + / 自动注释掉单元格中选定的行, 再次按住该组合键将取消同一行代码的注释。

误删恢复

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

以上就是本期的全部内容,期待点赞在看,我是啥都生,下次再见!

网站栏目:Jupyter Notebook还有魔术命令?太好使了
标题来源:http://www.shufengxianlan.com/qtweb/news43/229043.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联