Jupyter Notebook使用

Jupyter Notebook

Jupyter Notebook 使用指南

簡介

Jupyter Notebook是一個能運行Python代碼的Web應用程序,是當今進行機器學習實踐的主流工具。它具有很多完美的特性,在進行Python項目的開發時也可以使用Jupyter Notebook來代替IDE。希望本文能讓你對這一神器有更快的入門理解。

IPython

如果你使用過Python,應該會在安裝完成,配置好環境變量後打開過cmd,鍵入python來檢測是否安裝成功。那時候出現的黑色窗口叫做Python shell,可以供我們進行交互式的輸入python指令並運行。

相比與Python shell,IPython 提供了更爲強大的編輯和交互功能。它也是一種基於python的交互式解釋器。從網上搜了張二者的圖片,如下:
image

在IPyhon之後,出現了IPython Notebook,它完整地繼承了 IPython 的交互式特性,同時以 Web 形式運行。IPython Notebook 的出現,讓數據分析和機器學習的過程變得高效。

好比原先需要用黑窗體運行的命令,如今可以放到web網頁上來運行了。再後來,IPython Notebook 發展成爲更加成熟和完善的開源項目,並更名爲 Jupyter Notebook

熟悉的界面

如今,從數據清理、數據可視化、數據分析,再到後面的建立機器學習或深度學習模型,都可以在 Jupyter Notebook 完成。同時,Jupyter Notebook 可以保留代碼運行後的結果,方便內容的傳播,以及回顧做過的工作。可以說,它已成爲Python世界裏不可分割的一部分了

進入Jupyter Notebook

單元格

打開Jupyter Notebook後,首先您看到的應該是單元格和上面的工具欄等等。工具欄不多贅述,首先介紹一下單元格。
內容結構中最基本的組成單位被稱爲單元格,每個單元格可以支持不同的內容格式,包括但不限於CodeMarkdown等等。
用鼠標單擊任意單元格就會選中相應的單元格,此時被選中的單元格左側會出現一條綠色的豎線。
如下圖:
cell

單元格的兩種常用格式

每一個單元格會有多種模式,最常用的兩種分別是 Markdown(文本) 和 Code(代碼)。
判斷當前單元格是什麼格式?最簡單的方式就是觀察點擊該單元格後菜單欄裏顯示的單詞。

運行單元格

當我們在單元格中輸入了內容,怎樣讓內容生效呢??
——選中單元格後,使用快捷鍵 Shift + Enter 執行,即可馬上看到該單元格執行後的結果。
如果是Markdown,則會立刻變成對應的文檔;
如果是Python程序,則會立即執行其中的代碼。

單元格執行順序

無論是 Markdown 單元格,還是 Code 單元格,它們在整個notebook中都是按照從上到下的順序依次執行的。後面單元格中出現過的變量只有在前面的單元格中已經定義了,才能進行使用,否則會報錯。
執行完成的單元格左側會出現 In [序號]的標誌。

# 舉個例子
a = 1
b = 2
print(a+b)
print(c)

變量未定義

如上圖所示,由於a,b均在前面已經定義了,所以可以正常的打印出a+b的值;
但是c未定義,所以程序報錯。

代碼補全

Jupyter Notebook繼承了python shell的特性,可以通過 Tab鍵進行代碼補全。
需要注意的是,如果希望自動補全某個模塊下的函數名稱,我們需要先將模塊導入後才能生效。
eg:只有運行了import numpy as np,纔會在鍵入np.後按Tab出現numpy模塊的類和相關函數。

單元格的執行狀態

對於複雜度高的代碼,往往需要更長的執行等待時間。當一個單元格中的代碼正在執行時,單元格前面會出現In [*]符號,執行完成後,[*]中的*變成對應的序號

Running

除此之外,可以通過頁面右上角的Kernel狀態指示器判斷內核佔用情況。如果Python 字符右邊出現了實心圓圈 ◉,代表內核處於佔有狀態。而空心圓圈 ◯ 則代表內核處於空閒狀態。

#可以嘗試運行一下如下的程序進行觀察
import time
while True:
    print('hello ,Jupyter Notebook')
    time.sleep(1)

上面的程序運行後會一直循環,除非點擊了停止按鈕,纔會使程序強行終止。

重啓內核

有些時候,當我們運行復雜的代碼時,可能會使得Kernel陷入“假死”的狀態。在這種情況時,我們可以點擊restart按鈕後會彈出確認對話框,點擊 Restart 即可。
restart

快捷鍵

爲了提高Jupyter Notebook的使用效率,顯然存在一些快捷鍵,如下是筆者本人記得住(所以也是比較常用的幾個),供讀者查看:

1.模式切換
當前cell側邊爲藍色時,表示此時爲命令模式,按ENTER切換爲編輯模式;
當前cell側邊爲綠色時,表示此時爲編輯模式,按Esc切換爲編輯模式;

2.命令模式快捷鍵
爲了方便查看,我將功能類似的歸於一類,下面的幾個快捷鍵都是使用頻率比較高的,建議大家掌握鴨。

  • H:查看所有快捷鍵。
  • F: 查找和替換。(find)
  • S:保存當前 Notebook 內容。(save)
  • P:調出 Notebook 命令欄。

  • A: 在當前單元格上方新建空白單元格。(above)
  • B:在當前單元格下方新建空白單元格。(below)

  • M:將單元格格式轉換爲 Markdown。
  • Y:將單元格格式轉換爲 Code。

  • X/C/Shift-V/V: 剪切/複製/上方粘貼/粘貼。
  • 連續按 D+D:刪除當前單元格。(慎用,推薦使用 X 剪切單元格代替,因爲其可以起到刪除效果,且刪錯了還可以粘貼回來)
  • 連續按 I+I+I:強制中止內核(當某個單元格執行時間較長或卡住時,可以強行中止,中止後前序單元格狀態依舊保留,非常好用!!)
  • Z: 撤銷操作。

  • Ctrl + Enter:運行當前單元格內容。
  • Shift + Enter:運行當前單元格內容並跳轉到下一個cell。

總結

本文我們一起學習了Jupyter Notebook的基本使用技巧,這將對我們後續進行機器學習、深度學習和數據挖掘等新興技術的使用,產生有利的推動作用,並帶來極大的便利。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章