jupyter notebook使用
轉自:http://blog.csdn.net/lee_j_r/article/details/52791228
下面的內容是針對ubuntu 系統的,當然,jupyter?notebook在windows也是支持的。
一、jupyter notebook是什么
官網的介紹是:Jupyter Notebook是一個Web應用程序,允許您創建和共享包含實時代碼,方程,可視化和說明文本的文檔。 用途包括:數據清理和轉換,數值模擬,統計建模,機器學習等等。
簡單的介紹就是:Jupyter Notebook是Ipython的升級版,而Ipython可以說是一個加強版的交互式 Shell,也就是說,它比在terminal里運行python會更方便,界面更友好,功能也更強大。怎么強大法,往下看就知道了。
二、jupyter notebook的安裝和打開
安裝非常簡單,只需要在終端輸入:
[plain]?view plain?copy
pip?install?jupyter
打開jupyter notebook 也只需要在終端輸入:
[plain]?view plain?copy
jupyter?notebook
運行上面的命令之后,你將看到類似下面這樣的輸出:
如上圖,它打開了一個端口,并且會在你的瀏覽器中打開這個頁面,主目錄是圖中的那個directory(可能第一次打開沒有這個目錄)。
三、使用
1、打開一個新文檔
在主頁面的右上角點new即可新建一個你想要的文件類型。
如上圖,jupyter也可以打開一個terminal,還可以作為一個text文本編輯器,功能明顯是比terminal強大了。
下面的Notebooks類型除了python 也是可以加入其他類型的文檔的,具體方法百度一下就好。
2、python編輯器介紹
點擊python2后會出現一下界面:
稍微介紹一下notebook 界面的組成部分1)notebook 的名稱2)主工具欄提供了保存、導出、重載 notebook,以及重啟內核等選項3)快捷鍵4)notebook 編輯區
最下面的哪個 In [ ]: 的框叫做單元格,你可以把你的代碼分成一段段的單元格輸入,然后可以逐個單元格地運行。注意,這個功能是非常友好的,有時候只修改了中間的一小段代碼,又不想全部代碼都要重新運行的時候這個功能就非常有用了。另外,單元格是可以改變順序的。而且可以輸出圖片和繪圖!非常強大吧!
這些只要稍微嘗試一下就懂的,下面主要介紹一些常用的技巧
**注意,jupyter notebook 是支持 TAB 鍵自動補充單詞的,再一次展示了其強大友好的一面!
A.修改文檔名稱
方法一:點上圖的Untitled
方法二:點File,再點rename
B.導出文檔
步驟:點File,再點Download as
發現里面支持好幾種格式的導出,第一個ipynb是notebook的格式,是一種類json的格式保存,其他的建議你們都試一試,你會感到非常驚喜的。
C.保存
Ctrl + S 快捷鍵的可以保存你的文檔的,默認是保存為ipynb,保存在你的主目錄下!
D.單元格格式
注意到快捷鍵欄中有一個code的下拉框,點開發現有幾個選項:
這里介紹一下
Code格式就是正常的python代碼格式
Markdown的一個text文檔編輯格式,就像在word里編寫一樣
Heading就是給Markdown的句子設置標題等級,像word的標題一,標題二...
Raw NBConvert 沒用過不了解,可以自行百度或者看官網介紹
下面舉例說明一下
選擇一個空的單元格,code下拉框選擇Heading,會出現一個不同類型的 cell:
改變單元格類型時彈出消息中有解釋,后面那個單元格以 # 標記開頭,意味著這是一個一級標題。如果需要子標題,可以使用以下標記表示:
# : 一級標題## : 二級標題### : 三級標題...
輸入內容后再運行一下(快捷欄里有),會出現類似下面的情況:
我一共輸入了三級標題,點其中一個,你會發現它的code下拉欄顯示是markdown類型
你以后代碼里print 的內容都是以markdown的格式顯示的。
E.快捷鍵
常用的快捷鍵是:
Ctrl + Enter: 執行單元格代碼
Shift + Enter: 執行單元格代碼并且移動到下一個單元格
Alt + Enter: 執行單元格代碼,新建并移動到下一個單元格
這幾個快捷鍵都是非常常用的。
F.歷史輸入和輸出變量
與標準 Shell 類似,IPython 中也可以通過 _ 和 _ _ 訪問上一次和上上一次的輸出。
當你寫的單元格多了,肯定會注意到,IPython 中每一次的輸入輸出都有序號。你可以通過一下方法訪問這些輸入和輸出:
_:訪問上一次輸出
__:訪問上上一次輸出
_X:訪問歷史 X 行輸出
_iX:訪問歷史 X 行輸入
其中小寫字母 “i”,代表 “in”。
四、外部功能
上面講的是jupyter 的一些使用方法和技巧,其實它還有很多強大的外部功能的,下面給大家介紹一下。
A.魔術命令
在 IPython 的會話環境中,所有文件都可以通過 %run 命令來當做腳本執行,并且文件中的變量也會隨即導入當前命名空間。
即,對于一個模塊文件,你對他使用 %run 命令的效果和 from module import * 相同
這種以 % 開頭的命令在 IPython 中被稱為魔術命令,用于加強 shell 的功能。
常用的魔術命令有:
對魔術命令不熟悉的話可以通過 %magic 查看詳細文檔;對某一個命令不熟悉的話,可以通過 %cmd? 內省機制查看特定文檔
B.添加插件
1)側邊欄目錄導航
當文章內容非常長的時候,前后找內容,很麻煩,不如加一個sidebar,方便導航方法:https://github.com/ipython-contrib/IPython-notebook-extensions/tree/master/nbextensions/usability/toc2
2)隱藏代碼按鈕
有時候,希望代碼可以隱藏,這樣子文檔看起來,就會干凈一些
點擊按鈕,就可以隱藏所有的代碼,具體做法:http://stackoverflow.com/questions/27934885/how-to-hide-code-from-cells-in-ipython-notebook-visualized-with-nbviewer當然,還有更多的extention可見https://github.com/ipython-contrib/IPython-notebook-extensions/
參考【https://www.douban.com/review/7890354/】
C.運行python文件
利用jupyter的cell是可以運行python文件的。
方法一:
[plain]?view plain?copy
%run?file.py
方法二:在unitx command前面加入一個感嘆號“!” ,如:
[plain]?view plain?copy
!python?myfile.py
D.導入外部代碼
比如有一個test.py文件,需要將其載入到jupyter的一個cell中
在需要導入該段代碼的cell中輸入
[plain]?view plain?copy
%load?test.py?#test.py是當前路徑下的一個python文件
shift + enter運行后,%load test.py被自動加入了注釋符號#,test.py中的所有代碼都被load到了當前的cell中
或者從從網絡load代碼到jupyter
在cell中輸入%load http://.....,然后運行該cell,就會將load后面所對應地址的代碼load到當前的cell中;
五、其他技巧
1)更改Jupyter notebook的工作空間(主目錄)
Jupyter的工作空間在其配置文件ipython_notebook_config.py中。
ipython_notebook_config.py文件在~/.jupyter/下
如果找不到那就在終端輸入:
[plain]?view plain?copy
jupyter?notebook?--generate-config
然后再
[plain]?view plain?copy
gedit?~/.jupyter/jupyter_notebook_config.py
Ctrl + F 找到下面這句按下面的格式,輸入你想要的目錄路徑即可
[plain]?view plain?copy
#?The?directory?to?use?for?notebooks.這決定了jupyter啟動目錄
c.NotebookApp.notebook_dir?=?u'/path/to/your/notebooks'
2)自定義快捷鍵
這個就直接參考官方文檔吧:http://nbviewer.jupyter.org/github/ipython/ipython/blob/3.x/examples/Notebook/Custom%20Keyboard%20Shortcuts.ipynb
六、總結
總的來說,Jupyter notebook 是一款非常優秀的交互式編輯平臺,提供了分享,演示,編輯等功能.作為學習的記錄者,方便你隨時撿起學習的進度,增量式地前進。
希望這篇博文能對剛接觸jupyter 的朋友有所幫助!
七、參考
【1】官網安裝:https://jupyter.readthedocs.io/en/latest/install.html
【2】jupyter使用小結
【3】Jupyter Notebook 快速入門(上)
【4】jupyter notebook 各種用法記錄(陸續更新)
Jupyter notebook Python
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。