1
Jupyter Notebook 是一種基于網(wǎng)絡(luò)的交互式工具,它是機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)經(jīng)常使用的工具。它可以被用于快速測(cè)試,作為報(bào)告工具,甚至作為復(fù)雜的學(xué)習(xí)材料在在線課程中使用。數(shù)據(jù)科學(xué)愛(ài)好者 Shadab Hussain 分享了 Jupyter Notebook 使用的一些小技巧。

所以在這個(gè)博客里,我要列出一些關(guān)于它的快捷方式,魔術(shù)命令和 nbextensions。
快捷方式
按 ctrl+shift+p 或單擊菜單欄中的小鍵盤(pán)圖標(biāo)以獲取命令調(diào)色板列表

在 command 和 edit 模式中都可以用的快捷方式:
Shift + Enter 運(yùn)行當(dāng)前選中的 cell
Ctrl+Enter 運(yùn)行所選 cell
Alt+Enter 運(yùn)行當(dāng)前單元格,在下面插入
Ctrl+S 保存和檢查
處于 edit 模式時(shí)的快捷方式:
按 Esc 鍵進(jìn)入 command 模式
Tab 完成或縮進(jìn)
Shift + Tab 選項(xiàng)卡工具提示
Ctrl+] 縮進(jìn)
Ctrl+[ 取消縮進(jìn)
Ctrl + A 全選
Ctrl+Z 撤消
Ctrl + Shift + Z 或 Ctrl + Y 重做
Ctrl+Home 轉(zhuǎn)到單元格的開(kāi)始
Ctrl + End 轉(zhuǎn)到單元格的結(jié)尾
Ctrl+Left 向左移動(dòng)一個(gè)單詞的距離
Ctrl + Right 向右移一個(gè)單詞的距離
進(jìn)入 command 模式后,按 H(help)獲取鍵盤(pán)快捷鍵列表:

我列出了一些最常用的快捷方式。按 Esc 鍵確保您處于 command 模式:
使用上下鍵上下滾動(dòng) cell
按 A/B 在活動(dòng) cell 的上方/下方插入新的 cell
M 會(huì)將活動(dòng) cell 轉(zhuǎn)換為 Markdown cell
Y 將活動(dòng) cell 設(shè)置為代碼 cell
X 將剪切所選 cell
C 將復(fù)制所選擇的 cell
V 將粘貼正在復(fù)制/剪切的 cell
Shift+V 粘貼上面的 cell
S 將保存 Notebook
F 查找/替換
O 切換輸出
D+D(按下 D 兩次)將刪除活動(dòng) cell。
Z 撤消 cell 的刪除。
要同時(shí)選擇多個(gè) cell,請(qǐng)按住 Shift 鍵,然后向上或向下按。
Shift + Space 向上滾動(dòng) notebook
Space 向下滾動(dòng) notebook
選定多個(gè) cell 時(shí):
按 Shift + M 合并所選內(nèi)容
要在光標(biāo)處拆分活動(dòng) cell,請(qǐng)?jiān)?edit 模式下按 Ctrl + Shift + -
你也可以單擊并按住 Shift 鍵并在 cell 左側(cè)的空白處單擊以進(jìn)行選擇
不同 notebook 之間 cell 的復(fù)制和粘貼:
Notebook 1:-按住 Shift 鍵選擇多個(gè) cell,然后按 Ctrl+c 進(jìn)行復(fù)制
Notebook 2:-按 Esc 鍵進(jìn)入 command 模式,Ctrl + v 粘貼
使用「 ! pip install <package> 」 在當(dāng)前內(nèi)核中安裝 package!

在 shell 命令中使用 python 變量的方法是在前面加一個(gè)「$」符號(hào):

魔術(shù)命令
魔術(shù)命令是大大擴(kuò)展 notebook 功能的快捷方式。
下面共享一個(gè) notebook 中的示例代碼:
使用「%pastebin」魔術(shù)函數(shù)選擇一個(gè) cell 區(qū)域
Jupyter 給你一個(gè)秘密的 URL 來(lái)共享

若要查看已定義變量的列表,請(qǐng)使用%whos 或%who-ls

%whos 顯示變量類(lèi)型以及一些額外的信息,如大小、內(nèi)容等。
%who_ls 只顯示變量名
使用 Jupyter Notebook 中的外部文件:
%pycat file.py ?在傳呼機(jī)中打開(kāi)腳本
%load file.py ?將腳本插入 cell
%run file.py ?運(yùn)行腳本
%run file.ipynb ?運(yùn)行 notebook
%notebook filename ?將當(dāng)前 IPython 歷史記錄導(dǎo)出到 notebook 文件
獲取、設(shè)置或列出環(huán)境變量:
%env ?列出所有的環(huán)境變量
%env var ?獲取變量的值
%env var val?為變量設(shè)定一個(gè)值
在 shell 中運(yùn)行命令:
%system ?使用 shell(主要用于獲取當(dāng)前目錄、日期等)

使用%autosave 將 notebook 自動(dòng)保存到 checkpoint:

每 120 秒(2 分鐘)自動(dòng)保存一次
執(zhí)行不同的語(yǔ)言:
%%HTML ?執(zhí)行 HTML 代碼

%%perl ?在子進(jìn)程中執(zhí)行 Perl
%%javascript or %%js ?執(zhí)行 javascript 代碼塊
%%python3 ?在子進(jìn)程中使用 python3 執(zhí)行代碼
%%ruby ?執(zhí)行 Ruby 代碼
其他魔術(shù)命令:
%history ?打印輸入歷史
%lsmagic ?列出當(dāng)前可用的 magic 函數(shù)
%magic ?打印關(guān)于 magic 函數(shù)系統(tǒng)的信息
%matplotlib ?設(shè)置 matplotlib 以交互工作
%pwd ?返回當(dāng)前工作目錄
%quickref ?顯示快速參考表
%time ? python 語(yǔ)句或表達(dá)式的執(zhí)行時(shí)間
Nbextensions
這個(gè)擴(kuò)展的好處是它改變了默認(rèn)值。
要安裝 nbextensions,請(qǐng)?jiān)?anaconda 命令行中執(zhí)行以下命令:
conda install -c conda-forge jupyter_contrib_nbextensions
conda install -c conda-forge jupyter_nbextensions_configurator
或者,你也可以使用 pip 安裝 nbextensions:
pip show jupyter_contrib_nbextensions 運(yùn)行 pip show
運(yùn)行「pip show jupyter_contrib_nbextensions」來(lái)查找安裝 notebook 擴(kuò)展的位置
運(yùn)行「jupyter contrib nbextensions install」安裝新的擴(kuò)展
安裝完成后,重新啟動(dòng) Jupyter notebook,你可以看到新的選項(xiàng)卡 Nbextensions 被添加到菜單上:

同樣的 nbextension 也可以在「Edit」菜單中找到:

現(xiàn)在,讓我們看看下面幾個(gè)例子:
1.Hinterland——它使得代碼單元中的每個(gè)按鍵都能自動(dòng)完成菜單,而不是只能使用制表符做到這一點(diǎn)。

2.Split Cells Notebook——在 Jupyter notebook 中拆分 cell

進(jìn)入 command 模式(Esc),使用 Shift + s 將當(dāng)前 cell 切換為拆分 cell。
3.Table of Contents——允許收集所有正在運(yùn)行的標(biāo)題,并將其顯示在浮動(dòng)窗口中,作為側(cè)邊欄或帶有導(dǎo)航的菜單。擴(kuò)展也是可拖動(dòng)、可調(diào)整大小、可折疊、可固定的,具有自動(dòng)編號(hào)功能,具有獨(dú)有的鏈接 ID 和可選的單元。
4.Autopep8——使用內(nèi)核特定的代碼重新格式化/美化代碼單元的內(nèi)容
5.Snippets——添加下拉菜單以將代碼段所在的 cell 插入當(dāng)前 notebook。
Jupyter Notebook 主題
我們可以從 Jupyter Notebook 的默認(rèn)主題轉(zhuǎn)換為黑暗模式。
為此,我們需要安裝 jupyterthemes:

jt -l 將給出可用主題的列表

jt -t <theme name>將更改主題。讓我們?cè)囍?chesterish 主題把它改成黑暗模式。


jt-r 會(huì)將其恢復(fù)到默認(rèn)主題
我們還可以用 Jupyter notebook 做很多其他我們還沒(méi)有嘗試的事情。這些事情留到下一個(gè)博客再寫(xiě)吧。
我的其他博客帖子:
via:https://towardsdatascience.com/optimizing-jupyter-notebook-tips-tricks-and-nbextensions-26d75d502663
雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。