Jupyter Notebook使用


不論你是剛開始學 Python,還是正在啃數據分析的骨頭,對你來說,不斷在各種命令行窗口和編輯器里切來切去,或者不斷打開各種窗口查看 matplotlib 的輸出之類的繁瑣操作,一定是家常便飯了。哎呀,這都 8102 年了,除了又大又笨重的 IDE,難道就沒有什么簡單而直觀的辦法,讓我們這些新手能管理和運行代碼嗎?

 

 

當然有啊,還是免費的咧!

 

這款神器就叫 Jupyter Notebook,它一定能拯救你於水深火熱之中!

 

Jupyter Notebook 是一款 Web 應用,它能讓用戶將上面說的各種窗口里的東西,全部組合到一個可讀性好,易於共享,且對新手友好的文檔中。這個文檔里可以包括:

 

● live code (e.g. Python code) 

可執行的代碼,比如我們需要的 Python 代碼

 

● visualizations 
可視化的數據庫圖表,或者代碼執行之后生成的可視化效果,比如 matplotlib 輸出的圖像等

 

● explanatory text (written in markdown syntax) 

各種解釋性文字,例如用 markdown 語法寫的格式化說明文本,Latex寫的數學方程等

 

因此,你可以方便地一邊寫代碼,一邊寫許多帶格式的注釋文本,還能讓運行結果實時在頁面內顯示出來。所以,Jupyter Notebook 很適合以下一些用途使用:

 

● 學習並嘗試運行 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

鏈接:

https://blog.csdn.net/guleileo/article/details/80490921

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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM