标準的Jupyter Notebook很不錯,但是還有更多的擴充功能可以幫助你完成工作,并且可以将許多功能結合在一起。
<b>Install Jupyter extension package</b>
1.Autopep8
2.Collapsible Headings
3.Gist-it

A. Collapsible Headings
現在你可以折疊你的筆記本,而不是滾動無窮的代碼。根據我的經驗,在進行探索性資料分析和繪制圖表時,我寫了很多不幹淨的代碼,我必須非常努力地滾動才能到達目的地。你可以展開單元格或折疊單元格以使其更清晰。我想你甚至可以做一個目錄(我還沒有嘗試過這個擴充)。
B. Gist-it
如果你以前使用過Gist,它基本上是一個讓你共享筆記本的地方。當你想要共享你的代碼時,這是非常有用的,特别是當你有bug并且想要共享它的時候。隻要按一下按鈕,一切就會在幾秒鐘内完成。
預設情況下,它将釋出一個匿名的Gist,如果你想用Github帳戶釋出它,你需要生成一個令牌認證。主要的差別是,如果你用自己的帳号發表文章,你可以編輯你的要點。
我在這篇文章中使用的筆記本在此。
<a href="https://gist.github.com/a0d020c17ce1715bf1d031b1cb8a9fa4">https://gist.github.com/a0d020c17ce1715bf1d031b1cb8a9fa4</a>
C. Autopep8
<b></b>
我一直在聲明循環之前的開始時間,減去目前時間來獲得運作時間。這并沒有錯,但你可以讓它變得更容易。使用内置的魔法指令。它們對你來說可能不自然,但使用起來真的很友善。(魔法指令以%開始)
讓我們從一個簡單的函數開始。它計算的是最後一個小于n的Fibonacci數。
你可以使用%time來計時一次運作或函數%timeit來計時,并得到平均值和标準偏差。這對于這些簡單的函數很有用,那麼調用另一個函數的函數呢?
這裡是%prun,我建立了一個虛函數,可以很長時間調用fib1()。你可以看到循環确實花了一些時間,但大部分時間都花在了fib1()上。
Cython是一個允許你用python編譯C的包,這是numpy和pandas速度很快的主要原因。確定你已經通過Cython安裝
在不改變任何代碼的情況下,你可以獲得即時的雙重性能!這很好,但一點也不神奇。
如果你稍微修改一下腳本,看看你能實作什麼。如果你對C程式設計有一些經驗,你可能知道,當我們聲明一個變量時,我們需要定義一個資料類型。這個腳本确實改變了一點,因為像這樣的操作對于Python來說是獨一無二的,C語言沒有這個特性。是以,我們需要配置設定一個臨時變量來存儲該值。
從582到48納秒,速度提高了10倍,而且你實際上不需要更改很多腳本。對我來說,這是令人興奮的,因為大部分時間你都可以使用慢速代碼。你所關心的是一次次被呼來喚去的。使用%prun和一些Cython代碼,可以在不編譯任何檔案的情況下獲得C速度。
除了魔法指令,我發現在Jupyter做shell指令也是非常有用的。(魔法指令以%開始,shell指令以!開始)
文章原标題《Jupyter Notebook Tricks for Data Science that Enhance your ejciency》
作者:Nok
譯者:董昭男,審校:。