一.Jupyter notebook是什么
提供交互式的編程體驗,既可以一變寫代碼,一邊編寫相關的文檔來說明你的項目。同時能夠將數據分析的結果保存到notebook中,便於下次打開文件的時候查看。完美的將代碼、文檔等集中在一處。
二.如何啟動Jupyter notebook
①Anacnoda用戶界面啟動
安裝 Jupyter 的最簡單方法是使用 Anaconda。該發行版附帶了 Jupyter notebook。你能夠在默認環境下使用 notebook。
②在cmd命令行中啟動(安裝路徑下啟動)
在jupyter notebook文件夾目錄下,搜索框搜索cmd進入命令行界面
在命令行中輸入jupyter notebook,即可啟動notebook
三.快速使用Jupyter notebook
-
Tab
:快速代碼補全 -
當Cell前出現*,表示當前cell程序正在運行,或者它前面的cell正在運行。
四.常見問題解決
①修改notebook工作文件夾
方法1
- 第一步:找到配置文件,菜單中打開Anaconda Prompt,輸入命令 jupyter notebook --generate-config
根據上面運行處的路徑打開C:\Users\HS.jupyter\jupyter_notebook_config.py文件
- 第二步:更改配置
- 找到 #c.NotebookApp.notebook_dir = '',去掉該行前面的“#”;
- 在打算存放文件的位置先新建一個文件夾(很重要,最好是英文的),然后將新的路徑設置在單引號中,保存配置文件
- 在開始菜單找到“Jupyte Notebook”快捷鍵,鼠標右擊 -- 更多 -- 打開文件位置
- 找到對應的“Jupyte Notebook”快捷圖標,鼠標右擊 -- 屬性 -- 目標,去掉后面的 "%USERPROFILE%/"(很重要),然后點擊“應用”,“確定”
- 重新啟動Jupyte Notebook即可
方法2
- 開始欄找到upyter Notebook 快捷方式
- 右鍵->更多->查看文件位置 找到Jupyter文件的位置
- 右鍵->屬性 將目標欄最后面的%USERPROFILE%,修改為D:\notebook_dir此處寫你想用的工作目錄,然后點保存
- 重啟Jupyter Notebook,可以看到目錄已改
五.功能介紹
①Conda頁面
Conda頁面主要是Jupyter Notebook與Conda關聯之后對Conda環境和包進行直接操作和管理的頁面工具
②Nbextensions頁面
Nbextensions頁面提供了多個Jupyter Notebook的插件,使其功能更加強大。該頁面中主要使用的插件有nb_conda,nb_present,Table of Contents(2)。這些功能我們無需完全掌握,也無需安裝所有的擴展功能,根據本文檔提供的學習思路,我們只需要安裝Talbe of Contents(2)即可,該功能可為Markdown文檔提供目錄導航,便於我們編寫文檔。
六.常用設置
1.關聯Jupyter Notebook和conda的環境和包
① 安裝
conda install nb_conda
執行上述命令能夠將你conda創建的環境與Jupyter Notebook相關聯,便於你在Jupyter Notebook的使用中,在不同的環境下創建筆記本進行工作
② 使用
-
可以在Conda類目下對conda環境和包進行一系列操作
-
可以在筆記本內的“Kernel”類目里的“Change kernel”切換內核
③ 卸載
canda remove nb_conda
2.安裝第三方庫
①安裝過程
!pip install -[Package] #語法
#需要加一個!號,相當於把這個命令當作shell命令來執行
!pip install matplotlib #安裝matplotlib庫
②切換鏡像源(解決安裝過程慢)
!pip install 某包 -i 某鏡像源 [代碼格式]
!pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple/
_________________
國內常用的鏡像源
清華大學: https://pypi.tuna.tsinghua.edu.cn/simple/
阿里雲: https://mirrors.aliyun.com/pypi/simple/
中國科技大學: https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣: http://pypi.douban.com/simple/
中國科學技術大學: http://pypi.mirrors.ustc.edu.cn/simple/
華中理工大學:http://pypi.hustunique.com/simple/
山東理工大學:http://pypi.sdutlinux.org/simple/
3.安裝插件(Nbextensions)
- Nbextensions相當於Jupyter的插件管理器
①安裝
conda install -c conda-forge jupyter_contrib_nbextensions
安裝成功后,在Home頁面會多出一個Nbextensions選項卡(下圖)
進入Nbextensions選項卡后,發現這里羅列了大量Jupyter所支持的插件(下圖),選中某個插件后,在頁面下方會顯示該插件的說明文檔,勾選插件前面的選擇框系統就會加載啟用該插件
②插件推薦
(1)Hinterland
- jupyter中的自動補全插件,在Nbextensions中勾選該插件名稱就能啟用。 安裝Hinterland后jupyter可以實現如IDE一般的代碼自動補全顯示,輸入代碼的頭部字符后所有符合的指令都會顯示出來以供選擇
(2)Collapsible Headings
- Collapsible Headings插件實現的是一種單元格折疊的功能。對於一些當前不需要反復關注的代碼,折疊起來不僅可以免除反復滾動的煩惱,還可以給整個notebook帶來更加整潔的視覺體驗。 Collapsible Headings的使用依賴於Markdown標簽,我們以下圖中的單元格為例進行演示。
(3)Codefolding
- Codefolding的作用就是折疊單元格中的代碼。只不過Codefolding不會像Collapsible Headings一樣自定義折疊區域和層級,它會自動識別處於同一層級的代碼,就像pycharm一樣。
七.Markdown編輯
*它是斜體*
**它是粗體**
***它是粗斜體***
== 高亮 ==
'底紋'
~~read image~~ #給文字添加刪除線
<u>這句話有下划線嗎</u> #給文字添加下划線
---使用三個--- #分割
'''和''' #代碼區域
- Red # 無序列表
1. Red # 有序列表,[數字加.]
> 這是一段引用 #引用
> 這是引用的代碼塊形式 #在'>'后面有五個空格
#多級引用
>一級引用
>>二級引用
>>>三級引用
八.效率技巧
1.在輸出中顯示多個項目
-
Jupyter筆記本一次只顯示一個輸出,如下所示。在本例中,只顯示最后一個變量的輸出
-
我們可以在下面添加此代碼以顯示單元格中的所有輸出。現在注意,兩個變量都顯示出來了
2.直接執行Shell命令
- 使用感嘆號(!)可以讓Jupyter Notebook執行shell命令。例如,可以安裝軟件包
3.獲取單元執行時間
-
使用%%time獲得整個單元的執行時間
4.添加擴展提高生產效率
- Jupyter Notebook擴展是為您提供更多功能的整潔工具
- 下面是您可以啟用的可配置擴展的列表。對我來說,一些有用的是可折疊標題、代碼折疊、草稿行和拼寫檢查器。
5.顯示函數和方法的幫助文檔
- 如果忘記了特定方法的參數,請使用Shift+Tab獲取該方法的文檔
6.使用粗體或彩色突出顯示輸出內容
- 要使輸出的重要部分突出,可以添加粗體字體和/或顏色
7.隱藏輸出以加快速度
- 有時候會遇到顯示速度很慢的問題,這可能是因為有很多圖形正在呈現
- 將鼠標懸停在圖表左側的區域(請參見下面的紅色矩形),然后雙擊該區域以隱藏輸出。這會大大加快速度!
8.快捷鍵技巧
按Esc進入命令模式
A | 在當前單元格上方插入新單元格 |
---|---|
B | 可以在下面插入新單元格 |
M | 將當前單元格更改為Markdown |
Y | 將其更改回代碼 |
D + D(按兩次) | 刪除當前單元格 |
Shift+Enter | 運行本單元,選中下個單元 |
Ctrl+Enter | 運行本單元 |
Shift+Space | 向上滾動 |
Space | 向下滾動 |
Tab | 代碼補全或縮進 |
Shift + Tab | 提示 |
Ctrl + ] | 縮進 |
Ctrl + [ | 解除縮進 |
Ctrl/Command + I | 斜體 |
Ctrl/Command + Shift + K | 插入代碼 |
Ctrl/Command + Shift + L | 插入鏈接 |
Ctrl/Command + Shift + G | 插入圖片 |
9.代碼調試
- %debug — 當代碼出現異常后,輸入%debug可以直接激活調試器跳到出現錯誤的地方,在這里還可以查看當前代碼的變量情況,,下面舉個例子來進行說明:
- 上面這段代碼由於計算中出現分母為0的情況,所以運行時會報錯,這時在下一個單元格中輸入%debug指令,jupyter就會進入調試模式。 進入調試模式后會直接跳轉到異常發生的位置(下圖),同時會出現一個ipdb文本框,這里可以輸入變量或特定指令,例如輸入程序中的變量a,就會返回當前位置相關的變量值;如果輸入指令quit,則會退出調試模式。
- %debug只是jupyter眾多IPython Magic命令中的一個,在juypter中可以使用%lsmagic命令查看所有Magic命令,大家可以根據需要自行選用,這里不再展開介紹。
10.強大的問號 ?
-
實現快捷文檔功能,使用方法就是在你想要查看的屬性或方法之前加一個?,例如我們要查看python中的str()方法,就可以執行下圖中的操作,jupyter會自動彈出一個窗口返回相關信息。
-
還可以查看程序中的變量類型。我們在寫代碼過程中經常需要查看某個變量是何種數據類型,通常我們會使用type()方法,在jupyter中使用?同樣可以實現這一功能,而且返回的信息更加完善。 例如我們想要查看上一條內容中的df變量(下圖),可以看到除了會返回數據類型信息之外,還會對該dataframe數據的一些基本信息進行描述,推動右側的滾動條可以查看更多信息。