Jupyter Notebook使用

不論你是剛開始學 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的四種功能

Cell有四種功能:Code、Markdown、Raw NBConvert、Heading,這四種功能能夠互相切換。Code用於寫代碼,Markdown用於文本編輯,Raw NBConvert中的文字或代碼等都不會被運行,Heading是用於設置標題的,這個功能已經包含在Markdown中了。四種功能的切換可使用快捷鍵或者工具條。

Code用於寫代碼,三類提示符及含義以下:

提示符 含義
In[ ] 程序未運行
In[num] 程序運行後
In[*] 程序正在運行

Markdown用於編輯文本,給出經常使用的Markdown用法:

其餘很是用的用法須要時能夠再查閱。

 

其餘

(1)按tab鍵查看提示信息或者補全命令

(2)在一個庫、方法或變量前加上 ?,就能夠得到它的一個快速語法說明

(3)使用分號能夠阻止該行函數的結果輸出

 

Jupyter清理全部單元格輸出

 

4.2.5 Cell

選項 功能
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 對全部單元的輸出結果進行隱藏/顯示/滾動/清除

 

%matplotlib inline

 

    • 這是 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

https://www.itcodemonkey.com/article/6025.html

https://blog.51cto.com/853056088/2162189

相關文章
相關標籤/搜索