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


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

——END——

最近发现一个点外卖每顿饭都能少花5-20元的宝藏号。

就是她,↓点击下面名片关注公众号↓

进入公众号点击菜单领取红包最低5元,最高56元!

Jupyter中那些神奇的第三方拓展魔术命令相关推荐

  1. Jupyter notebook中自定义支持天软TSl语言的魔术命令

    自定义支持TSL的魔术命令 前言 功能 使用范例 核心代码 相关链接 前言 越来越习惯在jupyter notebook中进行数据分析,但是平时也离不开天软TSL,频繁在两者之间切换了切换去也麻烦,在 ...

  2. 在jupyter中安装第三方库

    在jupyter中安装第三方库 (以安装torchkeras为例) import sys !{sys.executable} -m pip install torchkeras

  3. 解决极值中的神奇设k法_神奇宝贝Go拥有对您的Google帐户的完全访问权限。 这是解决方法[更新]...

    解决极值中的神奇设k法 To say Pokémon GO is wildly popular would be a vast understatement. To say the app's use ...

  4. 在vscode的jupyter中使用plotly绘图,图片显示不出来

    问题: 在vscode的jupyter中使用plotly绘图时,发现程序无报错,下方也留有一块显示图片的区域,但是图片就是加载不出,显示为空. 解决: 从其他博客了解到,是vscode渲染的问题,下载 ...

  5. R语言ggplot2可视化:jupyter中设置全局图像大小、jupyter中自定义单个ggplot2图像结果的大小

    R语言ggplot2可视化:jupyter中设置全局图像大小.jupyter中自定义单个ggplot2图像结果的大小 目录

  6. python调用qq互联_Django项目中实现使用qq第三方登录功能

    使用qq登录的前提是已经在qq互联官网创建网站应用并获取到QQ互联中网站应用的APP ID和APP KEY 1,建路由 # qq登录 path('loginQq/',qq.loginQq,name=' ...

  7. jupyter中python3如何导入文件_Python·Jupyter Notebook各种使用方法

    PythonJupyter Notebook各种使用方法记录持续更新 一 Jupyter NoteBook的安装 1 新版本Anaconda自带Jupyter 2 老版本Anacodna需自己安装Ju ...

  8. java中的神奇this

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

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

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

最新文章

  1. 如何解决IIS7上传文件大小限制【转】
  2. 一些Java面试技巧分享,你不能错过!
  3. Python之精心整理的二十五个文本提取及NLP相关的处理案例
  4. 视频教程--ASP.NET MVC 使用 Petapoco 微型ORM框架+NpgSql驱动连接 PostgreSQL数据库
  5. SSM 整合 2:Java EE 开发环境的搭建(JDK 配置、Tomcat 安装、IDE 安装、IDE 集成 Tomcat、Spring 及其组件的下载)
  6. mysql c null_MySQL中NULL字段的比较问题
  7. Sass函数:random()函数
  8. 开创先河!《王者荣耀国际版》成为东南亚运动会正式比赛项目
  9. win10+ubuntu双系统安装方案
  10. which 命令详解
  11. python透明图片合并_如何使用PIL将透明png图像与另一个图像合并
  12. 普通队列(数组实现)
  13. finecms如何调用多个指定栏目的内容
  14. 【九天教您南方cass 9.1】01 安装Cad和Cass9.1
  15. 百度杀毒软件2013低调发布 仅面向泰国市场推出
  16. android底部抽屉库,Xamarin.Android之简单的抽屉布局
  17. QA与SQA到底有什么区别和联系?他们的职责和工作内容是什么?QC,QM又是什么?
  18. 大家好,才是真的好「博客出书的故事②」
  19. 语法糖 Syntactic sugar: 复杂代码的等价简洁替代
  20. web前端学习到什么程度可以面试工作

热门文章

  1. linux cmake 安装mysql5.5.11,以及更高版本
  2. MySQL索引面试题:优化 索引分类
  3. Bootstrap的form-group form-control input-group button-group
  4. java的Deque栈_Java使用Deque实现堆栈的方法
  5. 排序算法有哪些_超强整理,科班算法岗的秋招之路
  6. redhat安装wine教程_Ubuntu怎么下载应用并安装应用
  7. matlab最小错误率决策,利用MATLAB实现最小错误率贝叶斯判别
  8. 中文表示什么_越南水果摊贴出中文标语,看清文字内容后,中国游客:不再吃了...
  9. php namespace原理作用,php 命名空间(namespace)原理与用法实例小结
  10. asp 取数据 计算_地学数据 | 地理空间数据获取方式汇总