Jupyter Notebook

今天我們來入門Jupyter notebook這個東西党饮,研究一下它的功能
目錄:
一扒俯、簡介
二、安裝與運行
三评甜、Python3的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ù)碉碉。

二柴钻、安裝與運行

雖然Jupyter可以運行多種編程語言,但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位的安裝包评姨。


具體安裝詳情參考簡書

2.2配置Jupyter Notebook

首先jupyter默認(rèn)的工作空間目錄是很那找的,因此需要更改成自己的Python工作空間楞艾。操作如下:
首先我們可以在開始菜單找到anaconda文件夾打開里面的Anaconda Prompt参咙,

輸入 jupyter notebook --generate-config


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

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

改完后為下圖

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

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

這樣就可以在工作空間放置項目文件两入,方便訪問運行净宵。

具體配置詳情參考博客

2.3運行Jupyter Notebook

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

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

還有很多方法,比如win+R打開cmd輸入jupyter notebook也可以直接打開剃氧。打開后瀏覽器地址顯示http://localhost:8889/tree#notebooks敏储,所以直接在瀏覽器輸入這個地址也能打開
參閱運行Notebook了解更多詳情。

3朋鞍、python3文件常用功能

在主頁面點擊“New”選項中的 "Python 3" 選項已添。可以新建一個notebook滥酥。

然后更舞,可以導(dǎo)入最常見的 Python 庫——pandas 和 numpy——來開始你的項目。代碼上方的菜單欄提供了操作單元格的各種選項:save(保存)坎吻,insert (添加)缆蝉,edit (編輯),cut (剪切)瘦真,move cell up/down (上下移動單元格)刊头,run cells(在單元格中運行代碼),interupt (停止代碼)诸尽,save (保存工作)原杂,以及 restart (重新啟動內(nèi)核)。

PS:
(1)按tab鍵查看提示信息或者補(bǔ)全命令
(2)使用分號可以阻止該行函數(shù)的結(jié)果輸出

  • 在下拉菜單中(如上所示)弦讽,你有四個選項:

  • Code - 這是你輸入代碼的地方

  • Markdown - 這是你輸入文本的地方污尉。你可以在運行代碼后添加結(jié)論,添加注釋等往产。

  • Raw NBConvert - 這是一個命令行工具被碗,可將你的筆記本轉(zhuǎn)換為另一種格式(如 HTML)

  • Heading - 你可以將標(biāo)題添加到單獨的小節(jié)并使你的 Notebook 看起來干凈整潔。這個選項現(xiàn)在已經(jīng)集成到 Markdown 選項中仿村。添加一個“##”锐朴,以確保在你之后輸入的內(nèi)容將被視為標(biāo)題

使用 Magic Functions

開發(fā)人員已經(jīng)插入了預(yù)定義的 magic functions,使你的工作更方便和更具交互性蔼囊。你可以運行以下命令來查看這些函數(shù)的列表(注意:通常不需要輸入“%”焚志,因為通常 Automagic 是默認(rèn)打開的):

%lsmagic

你會看到許多選項衣迷,你甚至可能認(rèn)識其中的 %clear, %autosave酱酬, %debug 和 %mkdir 等函數(shù)壶谒。magic command 有兩種運行方式:逐行運行( Line-wise )逐塊運行( Cell-wise )

顧名思義, Line-wise 是當(dāng)你想要執(zhí)行一個單行命令的時候使用膳沽,而 Cell-wise 是你想要執(zhí)行的命令不僅僅是一行汗菜,而是整個單元格中的整個代碼塊時使用。
在逐行運行模式中挑社,所有給定的命令都必須以 % 字符開始陨界,而在逐塊運行模式下,所有命令都必須以 %% 開頭痛阻。讓我們看看下面的例子來更好的理解:

逐行模式:

%time a = range(10)

逐塊模式:

%%timeit a = range (10)
min(a) 

執(zhí)行效果如下圖所示:


鍵盤快捷鍵——節(jié)省時間并提高效率菌瘪!

快捷鍵是 Jupyter Notebooks 最好用的功能之一。當(dāng)想運行任何代碼塊時阱当,只需要按下Ctrl + Enter 即可俏扩。Jupyter Notebooks 提供的鍵盤快捷鍵非常多,為我們節(jié)省了大量時間斗这。

以下是挑選的一些快捷鍵动猬,在開始使用 Notebooks 時會經(jīng)常用到這些快捷鍵。

Jupyter Notebook 提供了兩種不同的鍵盤輸入模式 - 命令和編輯表箭。命令模式將鍵盤與 Notebook 命令綁定前硫,并由具有藍(lán)色左邊距的帶有灰色單元格邊框來表示拢军。編輯模式允許你將文本(或代碼)輸入活動單元格,并以綠色單元格邊框表示。

使用 Esc 和 Enter 在命令和編輯模式之間跳轉(zhuǎn)∽菔現(xiàn)在就試試吧葱她!

一旦進(jìn)入命令模式(即沒有活動單元格)涵亏,就可以嘗試以下快捷鍵:

  • A 鍵將在選中單元格上方插入新單元格晰韵,B 鍵將在選中單元格下方插入一個單元格

  • 要刪除單元格,請連續(xù)按兩次 D 鍵

  • 要撤消已刪除的單元格拆魏,請按 Z 鍵

  • Y 鍵將當(dāng)前的選中單元格變成代碼單元格

  • 按住 Shift + 向上或向下箭頭鍵可以選擇多個單元格盯桦。在多選模式下,按 Shift + M 會合并選中的單元格

  • F 鍵會彈出 “查找和替換” 菜單

處于編輯模式時(在命令模式下按 Enter 鍵進(jìn)入編輯模式)渤刃,你會發(fā)現(xiàn)以下快捷鍵非常好用:

  • Ctrl + Home 轉(zhuǎn)到單元格的開頭

  • Ctrl + S 會保存工作

  • 和上面提過的一樣拥峦,Ctrl + Enter 將運行整個單元格

  • Alt + Enter 不僅會運行單元格,它還會在下方添加一個新的單元格

  • Ctrl + Shift + F 打開命令選項板

要查看整個鍵盤快捷鍵列表卖子,請在命令模式下按 H 或轉(zhuǎn)到 Help 菜單欄下的 Keyboard shortcuts略号。請經(jīng)常檢查這些內(nèi)容,因為經(jīng)常會有新的快捷鍵被加進(jìn)來。

保存和共享 Notebook

這是 Jupyter Notebook 中最重要和最棒的功能之一玄柠。當(dāng)我需要寫博客文章突梦,但我的代碼和注釋都保存在 Jupyter 文件中時,我需要先將它們轉(zhuǎn)換為另一種格式羽利。請記住宫患,這些 Notebooks 采用 json 格式,在共享它時這并不是很有幫助铐伴。

進(jìn)入 Files 菜單撮奏,可以看到一個 Download As 選項:

在這里可以將 Notebook 保存為 7 個選項中的任何一個俏讹。最常用的是 .ipynb 文件当宴,這樣其他人就可以在自己的機(jī)器上復(fù)制代碼;或者保存為 .html 文件泽疆, 這樣會打開一個網(wǎng)頁(當(dāng)想要保存嵌入在 Notebook 中的圖像時户矢,這會派上用場)。

Matplotlib集成

Matplotlib是用來畫圖的Python庫殉疼。與Jupyter notebook結(jié)合使用時梯浪,效果更好。

為了在Jupyter notebook中使用matplotlib瓢娜,需要告訴Jupyter獲取所有matplotlib生成的圖形挂洛,并把它們?nèi)壳度氲絥otebook中。為此眠砾,只需輸入以下命令:

%matplotlib inline

這條語句執(zhí)行可能耗費幾秒鐘虏劲,但是只需要打開notebook時執(zhí)行一次就好。讓我們作個圖褒颈,看看是怎么集成的:

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(20)
y = x**2

plt.plot(x, y)

這段簡單代碼將繪出y=x2對應(yīng)的二次曲線柒巫。運行這個cell,結(jié)果如下所示:

One More Thing

非本地內(nèi)核

Jupyter notebook非常容易從本地電腦上啟動谷丸,也允許多個人通過網(wǎng)絡(luò)連接到同一個Jupyter實例堡掏。因此我們可以注意到,在cmd里運行jupyter中刨疼,啟動Jupyter時出現(xiàn)了下面這條語句:

IPython Notebook運行在:http://localhost:8888/

這條語句表示notebook是本地運行泉唁,可以在瀏覽器中輸入地址http://localhost:8888/,打開notebook揩慕。通過修改配置亭畜,可以讓notebook面向公開訪問。這樣漩绵,任何人如果知道這個notebook地址贱案,就通過瀏覽器可以遠(yuǎn)程訪問并修改notebook。

實戰(zhàn)部分

在這里我使用1個例子來操作一下吧

首先新建一個python3環(huán)境的文件
新建文件

跳轉(zhuǎn)到新建頁面后先重命名,點擊頁首的名字后更改即可宝踪,如下圖
改名

選擇markdown侨糟,先寫個文件介紹
選擇markdown

在第1個單元寫介紹



執(zhí)行可以點擊“run按鈕”,也可以快捷鍵shift+enter直接執(zhí)行單模塊瘩燥,執(zhí)行效果如圖所示:

接下來就可以寫代碼了秕重。
當(dāng)需要輸入變量時,可以按tab鍵獲得提示并快速輸入
代碼提醒

代碼可以分塊寫厉膀,比如每個函數(shù)使用1個單元來存放溶耘。
整體代碼

最后執(zhí)行結(jié)果


執(zhí)行結(jié)果

總結(jié)

Jupyter notebook是一個非常強(qiáng)大的工具,允許使用者為數(shù)據(jù)分析服鹅、教育凳兵、文件等任何可以想到的內(nèi)容創(chuàng)建漂亮的交互式文檔。

參考博客鏈接https://blog.csdn.net/csdn_zhishui/article/details/81431364
參考博客鏈接https://blog.csdn.net/guleileo/article/details/80490921
參考博客鏈接https://www.cnblogs.com/giserliu/p/4997144.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末企软,一起剝皮案震驚了整個濱河市庐扫,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌仗哨,老刑警劉巖形庭,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異厌漂,居然都是意外死亡萨醒,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進(jìn)店門苇倡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來富纸,“玉大人,你說我怎么就攤上這事雏节∈どぃ” “怎么了?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵钩乍,是天一觀的道長辞州。 經(jīng)常有香客問我,道長寥粹,這世上最難降的妖魔是什么变过? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮涝涤,結(jié)果婚禮上媚狰,老公的妹妹穿的比我還像新娘。我一直安慰自己阔拳,他們只是感情好崭孤,可當(dāng)我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般辨宠。 火紅的嫁衣襯著肌膚如雪遗锣。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天嗤形,我揣著相機(jī)與錄音精偿,去河邊找鬼。 笑死赋兵,一個胖子當(dāng)著我的面吹牛笔咽,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播霹期,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼叶组,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了经伙?” 一聲冷哼從身側(cè)響起扶叉,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎帕膜,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體溢十,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡垮刹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了张弛。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片荒典。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖吞鸭,靈堂內(nèi)的尸體忽然破棺而出寺董,到底是詐尸還是另有隱情,我是刑警寧澤刻剥,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布遮咖,位于F島的核電站,受9級特大地震影響造虏,放射性物質(zhì)發(fā)生泄漏御吞。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一漓藕、第九天 我趴在偏房一處隱蔽的房頂上張望陶珠。 院中可真熱鬧,春花似錦享钞、人聲如沸揍诽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽暑脆。三九已至交排,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間饵筑,已是汗流浹背埃篓。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留根资,地道東北人架专。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像玄帕,于是被迫代替她去往敵國和親部脚。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,452評論 2 348

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