選自TowardsDataScience,做者:Perter Nistrup,機器之心編譯,參與:魔王。node
1. Pandas Profilingpython
2. 使用 Cufflinks 和 Plotly 繪製 Pandas 數據shell
4. Jupyter 中的格式編排bash
5. Jupyter 快捷鍵markdown
7. 爲 Jupyter Notebook 即時建立幻燈片app
該工具效果明顯。下圖展現了調用 df.profile_report() 這一簡單方法的結果:函數
使用該工具只需安裝和導入 Pandas Profiling 包。工具
這已經很好了,不過是否能夠繪製一個交互式、可縮放、可擴展的全景圖呢?是時候讓 Cufflinks* *出馬了!(Cufflinks 基於 Plotly 作了進一步的包裝。)學習
在環境中安裝 Cufflinks,只需在終端中運行! pip install cufflinks --upgrade 便可。查看下圖:測試
注意,上圖惟一改變的是 Cufflinks cf.go_offline() 的導入和設置,它將 .plot() 方法變爲 .iplot()。
其餘方法如 .scatter_matrix() 也能夠提供很是棒的可視化結果:
Cufflinks 文檔:https://plot.ly/ipython-notebooks/cufflinks/
Plotly 文檔:https://plot.ly/
%lsmagic:找出所有命令
%debug:交互式 debug
這多是我最常使用的魔術命令了。
大部分數據科學家都遇到過這種狀況:執行的代碼塊一直 break,你絕望地寫了 20 個 print() 語句,想輸出每一個變量的內容。而後,當你最終修復問題後,你還得返回並再次刪除全部 print() 語句。
不過之後不再用這樣了。遇到問題後只需執行 %debug 命令,便可執行想要運行的任意代碼部分:
上圖中發生了什麼?
咱們有一個函數,它以列表爲輸入,並對全部的偶數取平方值。
咱們運行函數,可是出了些問題。可是咱們並不知道怎麼回事!
對該函數使用%debug 命令。
讓調試器告訴咱們 x 和 type(x) 的值。
問題顯而易見:咱們把'6'做爲字符串輸入到函數中了!
這對於更復雜的函數很是有用。
%store:在 notebook 之間傳遞變量
這個命令也很酷。假設你花了一些時間清洗 notebook 中的數據,如今你想在另外一個 notebook 中測試一些功能,那麼你是在同一個 notebook 中實現該功能,仍是保存數據並在另外一個 notebook 中加載數據呢?使用%store 命令後,這些操做都不須要!該命令將存儲變量,你能夠在其餘任意 notebook 中檢索該變量:
%store [variable] 存儲變量。
%store -r [variable] 讀取/檢索存儲變量。
%who:列出全部全局變量。
你是否遇到過,爲變量賦值後卻忘記變量名的狀況?或者不當心刪掉了負責爲變量賦值的單元格?使用%who 命令,你能夠獲得全部全局變量的列表:
使用該命令能夠獲取全部計時信息。只需對任意可執行代碼應用%%time 命令,你就能夠獲得以下輸出:
%%writefile:向文件寫入單元格內容
在 notebook 中寫複雜函數或類,且想將其保存到專屬文件中時,該魔法命令很是有用。只需爲函數或類的單元格添加 %%writefile 前綴和想要保存到的文件名便可:
如上所示,咱們能夠將建立的函數保存到 utils.py 文件中,而後就能夠隨意導入了。在其餘 notebook 中也能夠這樣,只要與 utils.py 文件屬於同一個目錄便可。
這個工具很酷!Jupyter 考慮到 markdown 中存在 HTML / CSS 格式。如下是我最常用的功能:
藍色、時尚:
<div class="alert alert-block alert-info">
This is <b>fancy</b>!
</div>複製代碼
紅色、輕微慌張:
<div class="alert alert-block alert-danger">
This is <b>baaaaad</b>!
</div>複製代碼
<div class="alert alert-block alert-success">
This is <b>gooood</b>!
</div>複製代碼
想了解和學習鍵盤快捷鍵,你可使用命令面板:Ctrl + Shift + P,獲取 notebook 全部功能的列表。下面選取了幾個最基礎的命令:
Esc:進入命令模式。在命令模式內,你可使用方向鍵在 notebook 內進行導航。
A 和 B:在當前單元格上方(Above)或下方(Below)插入新的單元格。
M:當前單元格轉入 Markdown 狀態。
Y:當前單元格轉入 code 狀態。
D,D:刪除當前單元格。
Enter:當前單元格回到編輯模式。
Shift + Tab:爲你在當前單元格中鍵入的對象提供文檔字符串(文檔),持續使用該快捷鍵,可循環使用文檔模式。
Ctrl + Shift + -:在光標所在處分割當前單元格。
Esc + F:查找並替換代碼(不包括輸出)。
Esc + O:切換單元格輸出。
選擇多個單元格:
Shift + Down 和 Shift + Up:選中下方或上方的單元格。
Shift + M:合併選中單元格。
注意,選中多個單元格後,你能夠批量執行刪除/複製/剪切/粘貼/運行操做。
from IPython.core.interactiveshell import InteractiveShellInteractiveShell.ast_node_interactivity = "all"複製代碼
使用 RISE,你能夠僅經過一次按鍵將 Jupyter Notebook 即時轉變爲幻燈片。並且 notebook 仍然處於活躍狀態,你能夠在展現幻燈片的同時執行實時編碼!
conda install -c conda-forge rise複製代碼
pip install RISE複製代碼
如今,你能夠點擊新按鈕,爲 notebook 建立不錯的幻燈片了: