不論你是剛開始學 Python,仍是正在啃數據分析的骨頭,對你來講,不斷在各類命令行窗口和編輯器裏切來切去,或者不斷打開各類窗口查看 matplotlib 的輸出之類的繁瑣操做,必定是屢見不鮮了。哎呀,這都 8102 年了,除了又大又笨重的 IDE,難道就沒有什麼簡單而直觀的辦法,讓咱們這些新手能管理和運行代碼嗎?html
固然有啊,仍是免費的咧!數據庫
這款神器就叫 Jupyter Notebook,它必定能拯救你於水深火熱之中!瀏覽器
Jupyter Notebook 是一款 Web 應用,它能讓用戶將上面說的各類窗口裏的東西,所有組合到一個可讀性好,易於共享,且對新手友好的文檔中。這個文檔裏能夠包括:markdown
● live code (e.g. Python code) 機器學習
可執行的代碼,好比咱們須要的 Python 代碼編輯器
● visualizations
可視化的數據庫圖表,或者代碼執行以後生成的可視化效果,好比 matplotlib 輸出的圖像等函數
● explanatory text (written in markdown syntax) 工具
各類解釋性文字,例如用 markdown 語法寫的格式化說明文本,Latex寫的數學方程等學習
所以,你能夠方便地一邊寫代碼,一邊寫許多帶格式的註釋文本,還能讓運行結果實時在頁面內顯示出來。因此,Jupyter Notebook 很適合如下一些用途使用:spa
● 學習並嘗試運行 Python 代碼,觀察其效果
● 數據處理和轉換
● 數值模擬分析
● 統計建模
.
Jupyter Notebook 是一個 Web 應用程序,便於建立和共享文學化程序文檔,支持實時代碼、數學方程、可視化和 Markdown,其用途包括數據清理和轉換、數值模擬、統計建模、機器學習等等。目前,數據挖掘領域中最熱門的比賽 Kaggle 裏的資料都是 Jupyter 格式。對於機器學習新手來講,學會使用 Jupyter Notebook 很是重要.
要運行 Jupyter Notebooks,只需輸入如下命令就可開始使用!
jupyter notebook
執行上面命令以後, Jupyter Notebook 將在你的默認瀏覽器中打開,網址爲:http://localhost:8888/tree
在某些狀況下,它可能沒法自動打開。這種狀況下,你的終端或者命令提示符中將會生成一個帶有令牌密鑰( token key )的網址。要打開 Notebook,你須要將整個 URL(包括令牌密鑰)複製粘貼到瀏覽器中。
Notebook 打開後,你會在頂部看到三個選項卡:Files(文件),Running(運行)和 Clusters(集羣)。Files 基本上列出了全部的文件,Running 顯示你當前已經打開的終端和Notebooks,Clusters 由 IPython parallel 包提供,用於並行計算。
修改Jupyter的默認目錄:
jupyter notebook --generate-config
打開 jupyter_notebook_config.py 修改配置 c.NotebookApp.notebook_dir爲本身的工做目錄
c.NotebookApp.notebook_dir = 'E:/jupyter/'
找到Jupyter Notebook,右鍵該快捷方式,選擇屬性進行快捷方式的設置,修改快捷方式的「目標(T)」,把目標框裏面末尾的%USERPROFILE%去掉,刪除到.py後面就行,別刪多了。以下圖:
不刪這一句的話,jupter會使用user profile(用戶用戶預置文件,即默認目錄),以後不管你怎麼改配置文件都無論用。因此,謹記!
(%USERPROFILE%這個路徑比較特別,它不是一個普通的文件夾,而是用戶配置文件的根目錄,用戶的全部特定數據,包括文件和註冊表信息都保存在這裏。)
▌鍵盤快捷鍵——節省時間並提升效率!
快捷鍵是 Jupyter Notebooks 最好用的功能之一。當你想運行任何代碼塊時,你只須要按下Ctrl + Enter 便可。Jupyter Notebooks 提供的鍵盤快捷鍵很是多,爲咱們節省了大量時間。
如下是咱們挑選的一些快捷鍵,你在開始使用 Notebooks 時會常常用到這些快捷鍵。我強烈建議你閱讀這些內容的時候一個一個地嘗試一下這些快捷鍵。
Jupyter Notebook 提供了兩種不一樣的鍵盤輸入模式 - 命令和編輯。命令模式將鍵盤與 Notebook 命令綁定,並由具備藍色左邊距的帶有灰色單元格邊框來表示。編輯模式容許你將文本(或代碼)輸入活動單元格,並以綠色單元格邊框表示。
使用 Esc 和 Enter 在命令和編輯模式之間跳轉。如今就試試吧!
一旦進入命令模式(即沒有活動單元格),就能夠嘗試如下快捷鍵:
A 鍵將在選中單元格上方插入新單元格,B 鍵將在選中單元格下方插入一個單元格
要刪除單元格,請連續按兩次 D 鍵
要撤消已刪除的單元格,請按 Z 鍵
Y 鍵將當前的選中單元格變成代碼單元格
按住 Shift + 向上或向下箭頭鍵能夠選擇多個單元格。在多選模式下,按 Shift + M 會合並選中的單元格
F 鍵會彈出 「查找和替換」 菜單
處於編輯模式時(在命令模式下按 Enter 鍵進入編輯模式),你會發現如下快捷鍵很是好用:
Ctrl + Home 轉到單元格的開頭
Ctrl + S 會保存你的工做
和上面提過的同樣,Ctrl + Enter 將運行你的整個單元格
Alt + Enter 不只會運行你的單元格,它還會在下方添加一個新的單元格
Ctrl + Shift + F 打開命令選項板
要查看整個鍵盤快捷鍵列表,請在命令模式下按 H 或轉到 Help 菜單欄下的 Keyboard shortcuts。請常常檢查這些內容,由於常常會有新的快捷鍵被加進來。
咱們還能夠把單元格的類型從「代碼(Code)」改爲「文本(Markdown)」,這樣你能夠方便地用 markdown 語法寫出帶格式的註釋或說明文本,方便你整理概括代碼,或是在數據分析時描述須要處理的數據信息等。
改了單元格類型以後,你會發現前面的 In [ ]: 標記不見了。你在這個單元格中輸入 markdown 標記時,會自動解析成不一樣大小,不一樣格式的文字標記.
若是你點擊一個單元格的周邊空白處或是輸出部分,你選中的這個單元格就進入了命令模式,左邊的指示條是藍色:
若是你點擊代碼區域,則單元格就進入編輯模式,光標將在你點擊的位置閃爍,而左邊的指示條也變成綠色,表示你正在編輯代碼內容:
在編輯時,你能夠按 ESC 鍵退出編輯模式,回到命令模式。
這兩種模式的區別在於,在編輯模式下,代碼編輯框接收你全部的鍵盤輸入,讓你對代碼/文本進行編輯。而在命令模式下,Jupyter Notebook 頁面能響應你的各類鍵盤快捷命令。
Jupyter Notebook 還有一個很酷的功能:記錄點。你能夠爲當前的 notebook 文件建立一個記錄點,保存當前文件的全部狀態。建立記錄點以後,你能夠隨時返回到當前的狀態,撤銷這期間作出的任何修改。
要建立一個新的記錄點,你只須要在菜單欄上選擇 File(文件)-> Save and Checkpoint(保存記錄點)便可。點完以後,你就會在標題旁看到 Checkpoint 保存的提示:
若是你想要返回到以前的 Checkpoint,你只須要在菜單欄上選擇 File(文件)-> Revert to Checkpoint(返回到記錄點),並點擊對應的記錄點的時間戳便可。
Cell有四種功能:Code、Markdown、Raw NBConvert、Heading,這四種功能能夠互相切換。Code用於寫代碼,Markdown用於文本編輯,Raw NBConvert中的文字或代碼等都不會被運行,Heading是用於設置標題的,這個功能已經包含在Markdown中了。四種功能的切換可使用快捷鍵或者工具條。
Code用於寫代碼,三類提示符及含義以下:
提示符 | 含義 |
---|---|
In[ ] | 程序未運行 |
In[num] | 程序運行後 |
In[*] | 程序正在運行 |
Markdown用於編輯文本,給出經常使用的Markdown用法:
其餘很是用的用法須要時能夠再查閱。
(1)按tab鍵查看提示信息或者補全命令
(2)在一個庫、方法或變量前加上 ?,就能夠得到它的一個快速語法說明
(3)使用分號能夠阻止該行函數的結果輸出
Jupyter清理全部單元格輸出
選項 | 功能 |
---|---|
Run Cells | 運行單元內代碼 |
Run Cells and Select Below | 運行單元內代碼並將光標移動到下一單元 |
Run Cells and Insert Below | 運行單元內代碼並在下方新建一單元 |
Run All | 運行全部單元內的代碼 |
Run All Above | 運行該單元(不含)上方全部單元內的代碼 |
Run All Below | 運行該單元(含)下方全部單元內的代碼 |
Cell Type | 選擇單元內容的性質 |
Current Outputs | 對當前單元的輸出結果進行隱藏/顯示/滾動/清除 |
All Output | 對全部單元的輸出結果進行隱藏/顯示/滾動/清除 |
這是 IPython 中定義的魔法函數(Magic Function),其意義是將那些用於matplotlib
繪製的圖顯示在頁面裏而不是彈出一個窗口,所以就不須要plt.show()
這一語句來顯示圖片,以下圖所示:
由於這是 IPython 中的命令函數,所以只能在 jupyter notebook中使用,在其餘地方使用或者直接運行會報錯
************************************************************************************************************
IPthon 提供了功能強大,內建的Magic函數,定義爲:IPython中將任何第一個字母爲%
的行視爲 Magic Function的特殊調用,能夠控制 IPython, 爲其添加許多系統功能
https://www.jianshu.com/p/2dda5bb8ce7d
連接:
http://www.javashuo.com/article/p-vrrrbobm-ec.html