無論是jupyter notebook
還是jupyter lab
,都可以使用ipython
中的眾多自帶魔術(shù)命令來實(shí)現(xiàn)豐富的輔助功能,諸如%time
之類的。
這些都已經(jīng)是老生常談的知識(shí)沒什么好說的,但我們今天要給大家介紹的,則是一些實(shí)用的基于第三方拓展的魔術(shù)命令,從而極大程度上擴(kuò)展jupyter
的功能。
在jupyter
中使用外部的拓展魔術(shù)命令,需要先像安裝常規(guī)的Python
庫一樣用pip
等進(jìn)行安裝,再在使用前執(zhí)行一次%load_ext 拓展名稱
或者import 拓展名稱
,之后在當(dāng)前kernel
還保持活躍的情況下,就可以隨意在單元格內(nèi)使用對(duì)應(yīng)的拓展魔術(shù)命令。
下面我們來介紹一些常用的第三方魔術(shù)命令拓展。
雖然在jupyter
中單元格有自帶的markdown
模式,但其功能比較有限,而利用magic_markdown
,我們可以實(shí)現(xiàn)更多驚人的功能。
使用pip install magic-markdown
完成安裝之后,我們就可以使用魔術(shù)命令%%mmd
按照下面的格式實(shí)現(xiàn)在markdown
中嵌入Python
變量:
更多示例見https://github.com/transfluxus/magic_markdown
。
使用pip install ipython-sql
完成安裝后,我們可以直接在jupyter
單元格中完成數(shù)據(jù)庫的連接及查詢:
更多使用方法見https://pypi.org/project/ipython-sql/
。
使用pip install jupyter_spaces
安裝完成后,我們就可以參考下圖來創(chuàng)建和移除不同的命名子空間,這在調(diào)試代碼時(shí)很受用:
更多使用方法見https://github.com/davidesarra/jupyter_spaces
。
通過pip install blackcellmagic
之后,我們可以按照下圖的方式使用blackcellmagic
魔術(shù)命令,從而實(shí)現(xiàn)代碼的格式化,且格式化時(shí)不會(huì)執(zhí)行對(duì)應(yīng)單元格內(nèi)的代碼,非常方便:
更多使用方法見https://github.com/csurfer/blackcellmagic
。
接下來要介紹的watermark
,我在之前的一期文章中也介紹過,可以幫助我們記錄諸如系統(tǒng)硬件信息、導(dǎo)入的包的版本、時(shí)間戳等信息,幫助我們?nèi)粘9芾沓绦颉?/p>
同樣利用pip install watermark
進(jìn)行安裝之后,我們就可以利用%watermark
命令記錄下很多信息:
更多使用方法見https://github.com/rasbt/watermark/blob/master/docs/watermark.ipynb
。
通過pip install py-heat-magic
之后,我們可以使用%%heat
魔術(shù)命令對(duì)單元格內(nèi)代碼的執(zhí)行耗時(shí)分布進(jìn)行熱圖可視化,更加直觀地找到性能待提升的代碼塊,就像下圖示例那樣:
以上就是本文的全部?jī)?nèi)容,歡迎在評(píng)論區(qū)發(fā)表你的感想與見解。
聯(lián)系客服