Jupyter Notebook数据科学高效技巧
摘要:?本文有一些關于Jupyter?Notebook的干貨,希望看完文章可以給你帶來收獲
當我學習有關深度學習的優秀的fast.ai課程時,我學到了很多適用于通用軟件工程的干貨。我寫這篇文章是為了總結這些技巧并與你分享。
1.Jupyter Notebook拓展
標準的Jupyter Notebook很不錯,但是還有更多的擴展功能可以幫助你完成工作,并且可以將許多功能結合在一起。
Install Jupyter extension package
# Install Jupyterextension packagepip install jupyter_contrib_nbextensionsjupyter contrib nbextension install a€” user# Install configuratorpip install jupyter_nbextensions_configurator# Install themepip install jupyterthemes## Change theme (This is my default)''' Note that you need to use 1 command to configure thesetting, if you do 2 jt command, the second one will replacethe first one.'''jt -t grade3 -T你可以在這里找到更多Jupyter主題。安裝配置器后,你會看到有一個新的“Nbextensions”選項卡。獲取這些項目打勾
1.Autopep8
2.Collapsible Headings
3.Gist-it
A.?Collapsible Headings
現在你可以折疊你的筆記本,而不是滾動無窮的代碼。根據我的經驗,在進行探索性數據分析和繪制圖表時,我寫了很多不干凈的代碼,我必須非常努力地滾動才能到達目的地。你可以展開單元格或折疊單元格以使其更清晰。我想你甚至可以做一個目錄(我還沒有嘗試過這個擴展)。
B.?Gist-it
如果你以前使用過Gist,它基本上是一個讓你共享筆記本的地方。當你想要共享你的代碼時,這是非常有用的,特別是當你有bug并且想要共享它的時候。只要按一下按鈕,一切就會在幾秒鐘內完成。
默認情況下,它將發布一個匿名的Gist,如果你想用Github帳戶發布它,你需要生成一個令牌認證。主要的區別是,如果你用自己的帳號發表文章,你可以編輯你的要點。
我在這篇文章中使用的筆記本在此。
https://gist.github.com/a0d020c17ce1715bf1d031b1cb8a9fa4
C.?Autopep8
造型很重要,但也很無聊。如果你不想太用力,只要按一下這個小按鈕,它就會為你做所有的間隔!(PEP8是Python代碼的風格指南)
2.把時間花在你的任務上,并從中吸取教訓!
我一直在聲明循環之前的開始時間,減去當前時間來獲得運行時間。這并沒有錯,但你可以讓它變得更容易。使用內置的魔法命令。它們對你來說可能不自然,但使用起來真的很方便。(魔法命令以%開始)
讓我們從一個簡單的函數開始。它計算的是最后一個小于n的Fibonacci數。
你可以使用%time來計時一次運行或函數%timeit來計時,并得到平均值和標準偏差。這對于這些簡單的函數很有用,那么調用另一個函數的函數呢?
這里是%prun,我創建了一個虛函數,可以很長時間調用fib1()。你可以看到循環確實花了一些時間,但大部分時間都花在了fib1()上。
3.Cython
Cython是一個允許你用python編譯C的包,這是numpy和pandas速度很快的主要原因。確保你已經通過Cython安裝
pip install cython在不改變任何代碼的情況下,你可以獲得即時的雙重性能!這很好,但一點也不神奇。
(感謝James Martini先前指出了fib3中的一些錯誤!)
從582到48納秒,速度提高了10倍,而且你實際上不需要更改很多腳本。對我來說,這是令人興奮的,因為大部分時間你都可以使用慢速代碼。你所關心的是一次次被呼來喚去的。使用%prun和一些Cython代碼,可以在不編譯任何文件的情況下獲得C速度。
除了魔法命令,我發現在Jupyter做shell命令也是非常有用的。(魔法命令以%開始,shell命令以!開始)
本文由@阿里云云棲社區組織翻譯。
文章原標題《Jupyter Notebook Tricks for Data Science that Enhance your ejciency》
作者:Nok
譯者:董昭男,審校:。
原文鏈接
干貨好文,請關注掃描以下二維碼:
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎
總結
以上是生活随笔為你收集整理的Jupyter Notebook数据科学高效技巧的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里云 APM 解决方案地图
- 下一篇: 如何利用秒级监控进行mongodb故障排