• jupyter中那些神奇的第三方拓展魔术命令


    1 简介

      无论是jupyter notebook还是jupyter lab,都可以使用ipython中的众多自带魔术命令来实现丰富的辅助功能,诸如%time之类的。

      这些都已经是老生常谈的知识没什么好说的,但我们今天要给大家介绍的,则是一些实用的基于第三方拓展的魔术命令,从而极大程度上扩展jupyter的功能。

    图1

    2 jupyter中实用的第三方魔术命令拓展

      在jupyter中使用外部的拓展魔术命令,需要先像安装常规的Python库一样用pip等进行安装,再在使用前执行一次%load_ext 拓展名称或者import 拓展名称,之后在当前kernel还保持活跃的情况下,就可以随意在单元格内使用对应的拓展魔术命令。

      下面我们来介绍一些常用的第三方魔术命令拓展。

    2.1 用magic_markdown玩转markdown

      虽然在jupyter中单元格有自带的markdown模式,但其功能比较有限,而利用magic_markdown,我们可以实现更多惊人的功能。

      使用pip install magic-markdown完成安装之后,我们就可以使用魔术命令%%mmd按照下面的格式实现在markdown中嵌入Python变量:

    图2

      更多示例见https://github.com/transfluxus/magic_markdown

    2.2 用ipython-sql执行sql查询

      使用pip install ipython-sql完成安装后,我们可以直接在jupyter单元格中完成数据库的连接及查询:

    图3

      更多使用方法见https://pypi.org/project/ipython-sql/

    2.3 用jupyter_spaces创建命名子空间

      使用pip install jupyter_spaces安装完成后,我们就可以参考下图来创建和移除不同的命名子空间,这在调试代码时很受用:

    图4

      更多使用方法见https://github.com/davidesarra/jupyter_spaces

    2.4 用blackcellmagic实现代码美化

      通过pip install blackcellmagic之后,我们可以按照下图的方式使用blackcellmagic魔术命令,从而实现代码的格式化,且格式化时不会执行对应单元格内的代码,非常方便:

    图5

      更多使用方法见https://github.com/csurfer/blackcellmagic

    2.5 用watermark记录系统、版本等信息

      接下来要介绍的watermark,我在之前的一期文章中也介绍过,可以帮助我们记录诸如系统硬件信息、导入的包的版本、时间戳等信息,帮助我们日常管理程序。

      同样利用pip install watermark进行安装之后,我们就可以利用%watermark命令记录下很多信息:

    图6

      更多使用方法见https://github.com/rasbt/watermark/blob/master/docs/watermark.ipynb

    2.6 用heat对代码执行耗时分布进行可视化

      通过pip install py-heat-magic之后,我们可以使用%%heat魔术命令对单元格内代码的执行耗时分布进行热图可视化,更加直观地找到性能待提升的代码块,就像下图示例那样:

    图7

      以上就是本文的全部内容,欢迎在评论区发表你的感想与见解。

  • 相关阅读:
    python数据结构之图的实现方法
    大数据将如何颠覆信任危机
    大数据将如何颠覆信任危机
    JQuery的入门(二)
    递归思想
    Jquery的入门(一)
    如果让你写一个消息队列,该如何进行架构设计啊?
    如何解决消息队列的延时以及过期失效问题?消息队列满了以后怎么处理?有几百万消息持续积压 几小时.怎么解决?
    如何保证消息的顺序性?
    如何保证消息在传送的过程中不会丢失?(如何保证消息的可靠性传输?)
  • 原文地址:https://www.cnblogs.com/feffery/p/14745980.html
Copyright © 2020-2023  润新知