Jupyter Notebook(介紹篇)

一、簡介

Jupyter Notebook是一個開源的Web應(yīng)用程序襟企,允許用戶創(chuàng)建和共享包含代碼嘱么、方程式狮含、可視化和文本的文檔顽悼。它的用途包括:數(shù)據(jù)清理和轉(zhuǎn)換、數(shù)值模擬几迄、統(tǒng)計建模蔚龙、數(shù)據(jù)可視化、機(jī)器學(xué)習(xí)等等映胁。它具有以下優(yōu)勢:

可選擇語言:支持超過40種編程語言木羹,包括Python、R解孙、Julia坑填、Scala等。
分享筆記本:可以使用電子郵件弛姜、Dropbox脐瑰、GitHub和Jupyter Notebook Viewer與他人共享。
交互式輸出:代碼可以生成豐富的交互式輸出廷臼,包括HTML苍在、圖像、視頻荠商、LaTeX等等寂恬。
大數(shù)據(jù)整合:通過Python、R莱没、Scala編程語言使用Apache Spark等大數(shù)據(jù)框架工具初肉。支持使用pandas、scikit-learn饰躲、ggplot2朴译、TensorFlow來探索同一份數(shù)據(jù)。

二属铁、安裝與運(yùn)行

雖然Jupyter可以運(yùn)行多種編程語言眠寿,但Python是安裝Jupyter Noterbook的必備條件(Python2.7,或Python3.3以上)焦蘑《⒐埃可以直接使用Anaconda安裝,在安裝完Anaconda后默認(rèn)安裝好Jupyter Noterbook例嘱。關(guān)于安裝的全部信息可以在官網(wǎng)讀到:安裝Jupyter狡逢。

2.1使用Anaconda安裝

官網(wǎng)下載
對于小白,強(qiáng)烈建議使用Anaconda發(fā)行版安裝Python和Jupyter拼卵,其中包括Python奢浑、Jupyter Notebook和其他常用的科學(xué)計算和數(shù)據(jù)科學(xué)軟件包。

首先腋腮,下載Anaconda雀彼。建議下載Anaconda的最新Python 3版本壤蚜。其次,請按照下載頁面上的說明安裝下載的Anaconda版本徊哑。比如下圖袜刷,Windows系統(tǒng)可以選擇Python3.7下面的64位的安裝包。



恭喜莺丑,你已經(jīng)成功安裝好了著蟹!

具體安裝詳情參考簡書

2.2配置Jupyter Notebook

首先我們可以在開始菜單找到anaconda文件夾打開里面的Anaconda Prompt,


輸入 jupyter notebook --generate-config

找到所示路徑的文件梢莽,將 #c.NotebookApp.notebook_dir = ''更改為
c.NotebookApp.notebook_dir = 'E:\Py\jupyter'后面的路徑可以更改為自己的工作空間


接下來右擊jupyter Notebook點(diǎn)擊屬性萧豆,吧后面的“%USERPROFILE”刪掉,并把下面的初始位置中的內(nèi)容改為上面設(shè)置的工作路徑



改完后為下圖



如有新建環(huán)境可以先安裝jupyter模塊

以后操作跟上述一樣即可昏名。

具體配置詳情參考博客

2.3運(yùn)行Jupyter Notebook

成功安裝Jupyter Notebook后炕横,在開始菜單找到j(luò)upyter notebook就可打開Jupyter Notebook,不同環(huán)境可以打開不同的jupyter葡粒。

下面演示一下在Windows系統(tǒng)中打開Jupyter Notebook:



參閱運(yùn)行Notebook了解更多詳情份殿。

三、主面板(Notebook Dashboard)

打開Notebook嗽交,可以看到主面板卿嘲。在菜單欄中有Files、Running夫壁、Clusters拾枣、Conda四個選項。用到最多的是Files盒让,我們可以在這里完成notebook的新建梅肤、重命名、復(fù)制等操作。具體功能如下:


在Running中,可以看到正在運(yùn)行的notebook部蛇,我們可以選擇結(jié)束正在運(yùn)行的程序。


至于Clusters左医、Conda一般用不到,暫不做介紹同木,后續(xù)補(bǔ)充浮梢。

四、編輯界面(Notebook Editor)

一個notebook的編輯界面主要由四部分組成:名稱彤路、菜單欄秕硝、工具條以及單元(Cell),如下圖所示:

4.1 名稱

在這里洲尊,我們可以修改notebook的名字远豺,直接點(diǎn)擊當(dāng)前名稱奈偏,彈出對話框進(jìn)行修改:



修改后:


4.2菜單欄

菜單欄中有File、Edit憋飞、View、Insert姆吭、Cell榛做、Kernel、Help等功能内狸,下面逐一介紹检眯。

4.2.1 File

File中的按鈕選項如下圖所示:

選項 功能
New Notebook 新建一個notebook
Open… 在新的頁面中打開主面板
Make a Copy… 復(fù)制當(dāng)前notebook生成一個新的notebook
Rename… notebook重命名
Save and Checkpoint 將當(dāng)前notebook狀態(tài)存為一個Checkpoint
Revert to Checkpoint 恢復(fù)到此前存過的Checkpoint
Print Preview 打印預(yù)覽
Download as 下載notebook存為某種類型的文件
Close and Halt 停止運(yùn)行并退出該notebook

在這里,為notebook保存狀態(tài)是比較重要的昆淡,在緊急關(guān)閉時防止數(shù)據(jù)丟失锰瘸。盡管存檔只有1個。另一個Download as也是個重點(diǎn)昂灵,

4.2.2 Edit

Edit中的按鈕選項如下圖所示:


選項 功能
Cut Cells 剪切單元
Copy Cells 復(fù)制單元
Paste Cells Above 在當(dāng)前單元上方粘貼上復(fù)制的單元
Paste Cells Below 在當(dāng)前單元下方粘貼上復(fù)制的單元
Paste Cells & Replace 替換當(dāng)前的單元為復(fù)制的單元
Delete Cells 刪除單元
Undo Delete Cells 撤回刪除操作
Split Cell 從鼠標(biāo)位置處拆分當(dāng)前單元為兩個單元
Merge Cell Above 當(dāng)前單元和上方單元合并
Merge Cell Below 當(dāng)前單元和下方單元合并
Move Cell Up 將當(dāng)前單元上移一層
Move Cell Down 將當(dāng)前單元下移一層
Edit Notebook Metadata 編輯notebook的元數(shù)據(jù)
Find and Replace 查找替換避凝,支持多種替換方式:區(qū)分大小寫、使用JavaScript正則表達(dá)式眨补、在選中單元或全部單元中替換

4.2.3 View

View中的按鈕選項如下圖所示:

具體功能如下表:

選項 功能
Toggle Header 隱藏/顯示Jupyter notebook的logo和名稱
Toggle Toolbar 隱藏/顯示Jupyter notebook的工具條
Cell Toolbar 更改單元展示式樣
View中的功能可以讓用戶更好的展示自己的notebook管削,但對編寫代碼、實現(xiàn)功能沒有影響撑螺。

4.2.4 Insert

功能:在當(dāng)前單元上方/下方插入新的單元含思。

4.2.5 Cell

選項 功能
Run Cells 運(yùn)行單元內(nèi)代碼
Run Cells and Select Below 運(yùn)行單元內(nèi)代碼并將光標(biāo)移動到下一單元
Run Cells and Insert Below 運(yùn)行單元內(nèi)代碼并在下方新建一單元
Run All 運(yùn)行所有單元內(nèi)的代碼
Run All Above 運(yùn)行該單元(不含)上方所有單元內(nèi)的代碼
Run All Below 運(yùn)行該單元(含)下方所有單元內(nèi)的代碼
Cell Type 選擇單元內(nèi)容的性質(zhì)
Current Outputs 對當(dāng)前單元的輸出結(jié)果進(jìn)行隱藏/顯示/滾動/清除
All Output 對所有單元的輸出結(jié)果進(jìn)行隱藏/顯示/滾動/清除

4.2.6 Kernel

[圖片上傳中…(5.png-36664e-1514169774199-0)]

選項 功能
Interrupt 中斷與內(nèi)核連接(等同于ctrl-c)
Restart 重啟內(nèi)核
Restart & Clear Output 重啟內(nèi)核并清空現(xiàn)有輸出結(jié)果
Restart & Run All 重啟內(nèi)核并重新運(yùn)行notebook中的所有代碼
Reconnect 重新連接到內(nèi)核
Change kernel 切換內(nèi)核

4.2.7 Help

選項 功能
User Interface Tour 用戶使用指南,非常棒的功能甘晤,帶你全面了解notebook
Keyboard Shortcuts 快捷鍵大全
Notebook Help notebook使用指南
Markdown Markdown使用指南
Python…pandas 各類使用指南
About 關(guān)于Jupyter Notebook的一些信息

4.3 工具條

工具條中的功能基本上在菜單中都可以實現(xiàn)含潘,這里是為了能更快捷的操作,將一些常用按鈕放了出來线婚。下圖是對各按鈕的解釋遏弱。

4.4 單元(Cell)

在單元中我們可以編輯文字、編寫代碼塞弊、繪制圖片等等腾窝。對于單元的詳細(xì)內(nèi)容放在第五節(jié)中介紹。

五居砖、單元(Cell)

5.1兩種模式與快捷鍵

對于Notebook中的單元虹脯,有兩種模式:命令模式(Command Mode)與編輯模式(Edit Mode),在不同模式下我們可以進(jìn)行不同的操作奏候。

如上圖循集,在編輯模式(Edit Mode)下,右上角出現(xiàn)一只鉛筆的圖標(biāo)蔗草,單元左側(cè)邊框線呈現(xiàn)出綠色咒彤,點(diǎn)Esc鍵或運(yùn)行單元格(ctrl-enter)切換回命令模式疆柔。

在命令模式(Command Mode)下,鉛筆圖標(biāo)消失镶柱,單元左側(cè)邊框線呈現(xiàn)藍(lán)色旷档,按Enter鍵或者雙擊cell變?yōu)榫庉嫚顟B(tài)。

5.1.1命令模式下的快捷鍵

5.1.2編輯模式下的快捷鍵

注意不要死記硬背歇拆,在使用過程中需要什么就去查鞋屈,多用用就能記住了。

5.2 Cell的四種功能

Cell有四種功能:Code故觅、Markdown厂庇、Raw NBConvert、Heading输吏,這四種功能可以互相切換权旷。Code用于寫代碼,Markdown用于文本編輯贯溅,Raw NBConvert中的文字或代碼等都不會被運(yùn)行拄氯,Heading是用于設(shè)置標(biāo)題的,這個功能已經(jīng)包含在Markdown中了它浅。四種功能的切換可以使用快捷鍵或者工具條坤邪。

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

提示符 含義
In[ ] 程序未運(yùn)行
In[num] 程序運(yùn)行后
In[*] 程序正在運(yùn)行
Markdown用于編輯文本罚缕,給出常用的Markdown用法:

其他非常用的用法需要時可以再查閱艇纺。

六、魔法函數(shù)

使用魔法函數(shù)可以簡單的實現(xiàn)一些單純python要很麻煩才能實現(xiàn)的功能邮弹。

%:行魔法函數(shù)黔衡,只對本行代碼生效。
%%:Cell魔法函數(shù)腌乡,在整個Cell中生效盟劫,必須放于Cell首行。
%lsmagic:列出所有的魔法函數(shù)
%magic查看各個魔法函數(shù)的說明
?后面加上魔法函數(shù)名稱与纽,可以查看該函數(shù)的說明

一些常用魔法函數(shù)的示例:

魔法函數(shù) 作用
%%writefile 調(diào)用外部python腳本
%run 調(diào)用外部python腳本
%timeit 測試單行語句的執(zhí)行時間
%%timeit 測試整個單元中代碼的執(zhí)行時間
% matplotlib inline 顯示 matplotlib 包生成的圖形
%%writefile 寫入文件
%pdb 調(diào)試程序
%pwd 查看當(dāng)前工作目錄
%ls 查看目錄文件列表
%reset 清除全部變量
%who 查看所有全局變量的名稱侣签,若給定類型參數(shù),只返回該類型的變量列表
%whos 顯示所有的全局變量名稱急迂、類型影所、值/信息
%xmode Plain 設(shè)置為當(dāng)異常發(fā)生時只展示簡單的異常信息
%xmode Verbose 設(shè)置為當(dāng)異常發(fā)生時展示詳細(xì)的異常信息
%debug bug調(diào)試,輸入quit退出調(diào)試
%env 列出全部環(huán)境變量
注意這些命令是在Python kernel中適用的僚碎,其他 kernel 不一定適用

七猴娩、其他

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

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

(3)使用分號可以阻止該行函數(shù)的結(jié)果輸出

參考博客

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末卷中,一起剝皮案震驚了整個濱河市矛双,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蟆豫,老刑警劉巖议忽,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異十减,居然都是意外死亡栈幸,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進(jìn)店門嫉称,熙熙樓的掌柜王于貴愁眉苦臉地迎上來侦镇,“玉大人灵疮,你說我怎么就攤上這事织阅。” “怎么了震捣?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵荔棉,是天一觀的道長。 經(jīng)常有香客問我蒿赢,道長润樱,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任羡棵,我火速辦了婚禮壹若,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘皂冰。我一直安慰自己店展,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布秃流。 她就那樣靜靜地躺著赂蕴,像睡著了一般。 火紅的嫁衣襯著肌膚如雪舶胀。 梳的紋絲不亂的頭發(fā)上概说,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天,我揣著相機(jī)與錄音嚣伐,去河邊找鬼糖赔。 笑死,一個胖子當(dāng)著我的面吹牛轩端,可吹牛的內(nèi)容都是我干的挂捻。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼刻撒!你這毒婦竟也來了骨田?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤声怔,失蹤者是張志新(化名)和其女友劉穎态贤,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體醋火,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡悠汽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了芥驳。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片柿冲。...
    茶點(diǎn)故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖兆旬,靈堂內(nèi)的尸體忽然破棺而出假抄,到底是詐尸還是另有隱情,我是刑警寧澤丽猬,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布宿饱,位于F島的核電站,受9級特大地震影響脚祟,放射性物質(zhì)發(fā)生泄漏谬以。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一由桌、第九天 我趴在偏房一處隱蔽的房頂上張望为黎。 院中可真熱鬧,春花似錦行您、人聲如沸铭乾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽片橡。三九已至,卻和暖如春淮野,著一層夾襖步出監(jiān)牢的瞬間捧书,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工骤星, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留经瓷,地道東北人。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓洞难,卻偏偏與公主長得像舆吮,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評論 2 355

推薦閱讀更多精彩內(nèi)容