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

  以上就是本文的全部內容,歡迎在評論區發表你的感想與見解。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM