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


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

jupyter中那些神奇的第三方拓展魔术命令的更多相关文章

  1. [翻译svg教程]Path元素 svg中最神奇的元素!

    先看一个实例 <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999 ...

  2. 在Swift项目中使用cocoaPods导入第三方OC库

    首先保证你的项目是基于cocoaPods的,并且是通过XX.xcworkspace打开的.cocoaPods安装教程(Xcode6以上) 下面就第三方库MBProgressHUD来讲解如何在Swift ...

  3. iOS 如何在一个已经存在多个project的workspace中引入cocoapods管理第三方类库

    一种新的第三方库管理工具:Carthage 如何使用Carthage管理iOS依赖库 Podfile Syntax Reference v1.1.0.rc.3 https://guides.cocoa ...

  4. Android 项目中常用到的第三方组件

    项目中常用到的第三方组件 1 社会化分享ShareSDK-Core-2.5.9.jarShareSDK-QQ-2.5.9.jarShareSDK-QZone-2.5.9.jarShareSDK-Sin ...

  5. Groovy中那些神奇注解之InheritConstructors

    上一篇:Groovy中那些神奇注解之ToString 写完ToString,本来想今天就写到这了,突然觉得InheritConstructors注解实在也是个神器,写起来也没多少字,还是写了吧. In ...

  6. Groovy中那些神奇注解之ToString

    继续上一篇:Groovy中那些神奇注解之Memoized 这篇就讲讲@groovy.transform.ToString这个注解,这注解太熟悉了,熟悉到让人一看就知道是干吗的,不就是把Bean转在St ...

  7. 命令行窗口中使用pip安装第三方库成功之后,在pycharm中仍不能使用

    在学习廖老师的Python教程的时候,遇到命令行窗口中使用pip安装第三方库成功之后,在pycharm中仍不能使用的情况, 这种情况可能是由于在本地安装了多个Python版本的缘故(只是可能的情况之一 ...

  8. 在 jupyter 中添加菜单和自动完成功能

    在 jupyter 中添加菜单和自动完成功能 参考文档http://www.360doc.com/content/17/1103/14/1489589_700569828.shtmlhttp://to ...

  9. java中的神奇"this"

    java中的神奇"this",神奇的原因事它能不用new就可以直接创造一个对象出来,后来研究发现,其实java的“this”使用时,也是"new"了一个当前的对 ...

随机推荐

  1. sqlmap在https下的一种错误 - ssl连接失败

    在昨天与师傅的交流中师傅考了我一个问题,在用sqlmap跑的时候遇到ssl爆红该怎么办,因为在实战中并没有遇到过这种情况,所以今天补一下知识. 首先查询了ssl的概念,通俗来说,如果一个网站没有安装s ...

  2. ch1_6_3求解移动字符串问题

    import java.util.Scanner; public class ch1_6_3求解移动字符串问题 { public static void main(String[] args) { / ...

  3. KeyError:‘uid' Python常见错误

    使用不存在的字典键值 检查字典和要查的内容 如有不正确改正即可

  4. 我的xshell配色方案,绿色/护眼/留存/备份

    [mycolor] text(bold)=e9e9e9 magenta(bold)=ff00ff text=00ff80 white(bold)=fdf6e3 green=80ff00 red(bol ...

  5. shell字符串处理总结

    1. 字符串切片 1.1 基于偏移量取字符串 返回字符串 string 的长度 ${#string} 示例 [root@centos8 script]#str=" I Love Python ...

  6. MySQL-索引简介

    一.索引是什么? 索引是本质是一种数据结构,索引的目的在于提高查询效率.[排好序的快速查找的数据结构] 每个节点包含索引键值和一个指向对应数据记录物理地址的指针. 索引往往以索引文件的形式存储在磁盘. ...

  7. Python基础(二十):面向对象“类”第三课——类成员

    知识点: 类属性与实例属性: 类方法与实例方法: 静态方法: 类属性与实例属性 类属性与实例属性的区别 属性的绑定不同 类属性与当前类相关(绑定的是当前类),与当前类创建的任何对象无关: 实例属性与当 ...

  8. Redis解读(2):Redis的Java客户端

    Redis的Java客户端 Redis不仅使用命令客户端来操作,而且可以使用程序客户端操作,其实配置和实现起来也非常容易. 现在基本上主流的语言都有客户端支持,比如Java.C.C#.C++.php. ...

  9. 跨域库herryPostMessage.js的一些优化,多iframe跨域

    旧库见文章:https://www.cnblogs.com/wuhairui/p/14595893.html 新版库主要做了下多个iframe和父页面交互的优化.主要使用构造函数的方式将多个ifram ...

  10. OkHttp:NoClassDefFoundError

    1 问题描述 使用OkHttp时报错: Caused by: java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics at okh ...