【工具】Jupyter Notebook介绍
在數據分析的道路上,你一定曾有過為新發現而激動不已的時刻,此時你急于將自己的發現告訴大家,卻遇到了這樣的問題:如何將我的分析過程清晰地表述出來呢?
為了能與同行們有效溝通,你需要重現整個分析過程,并將說明文字、代碼、圖表、公式、結論都整合在一個文檔中。顯然傳統的文本編輯工具并不能滿足這一需求,所以這兒隆重推薦一款神器 Jupyter Notebook,不僅能在文檔中執行代碼,還能以網頁形式分享。
下圖簡單展示了Jupyter Notebook 文檔的樣式。
本文主要內容如下:
一、Jupyter Notebook 介紹
- 文學編程
- 歷史傳承
- 優點
二、Jupyter Notebook 使用入門
- 安裝
- 運行
- 界面
?
一、Jupyter Notebook 介紹
官網:http://jupyter.org/
文學編程
在介紹Jupyter Notebook之前,讓我們先來看一個概念:文學編程 ( Literate programming ),這是由 Donald Knuth 提出的編程方法。傳統的結構化編程,人們需要按計算機的邏輯順序來編寫代碼;與此相反,文學編程則可以讓人們按照自己的思維邏輯來開發程序。
簡單來說,文學編程的讀者不是機器,而是人。 我們從寫出讓機器讀懂的代碼,過渡到向人們解說如何讓機器實現我們的想法,其中除了代碼,更多的是敘述性的文字、圖表等內容。這么一看,這不正是數據分析人員所需要的編碼風格么?不僅要當好一個程序員,還得當好一個作家。那么 Jupyter Notebook 就是不可或缺的一款集編程和寫作于一體的效率工具。
歷史傳承
也許說到 Jupyter 你會覺得陌生,但想必你或多或少聽過鼎鼎大名的 IPython。其實Jupyter 脫胎于 IPython 項目,IPython 顧名思義,是專注于 Python 的項目,但隨著項目發展壯大,已經不僅僅局限于 Python 這一種編程語言了。Jupyter 的名字就很好地釋義了這一發展過程,它是 Julia、Python 以及 R 語言的組合,字形相近于木星(Jupiter),而且現在支持的語言也遠超這三種了。
優點
以下列舉了 Jupyter Notebook 的眾多優點:
1. 極其適合數據分析
想象一下如下混亂的場景:你在終端中運行程序,可視化結果卻顯示在另一個窗口中,包含函數和類的腳本存在其他文檔中,更可惡的是你還需另外寫一份說明文檔來解釋程序如何執行以及結果如何。此時 Jupyter Notebook 從天而降,將所有內容收歸一處,你是不是頓覺靈臺清明,思路更加清晰了呢?
支持多語言
也許你習慣使用 R 語言來做數據分析,或者是想用學術界常用的 MATLAB 和 Mathematica,這些都不成問題,只要安裝相對應的核(kernel)即可。這里列出了 Jupyter 支持的所有語言,供您參考。
2. 分享便捷
支持以網頁的形式分享,GitHub 中天然支持 Notebook 展示,也可以通過 nbviewer 分享你的文檔。當然也支持導出成 HTML、Markdown 、PDF 等多種格式的文檔。
3. 遠程運行
在任何地點都可以通過網絡鏈接遠程服務器來實現運算,這里給出一個遠程運行的例子,可以體驗一下 Jupyter Notebook。
4. 交互式展現
不僅可以輸出圖片、視頻、數學公式,甚至可以呈現一些互動的可視化內容,比如可以縮放的地圖或者是可以旋轉的三維模型。這就需要交互式插件(Interactive widgets)來支持,更多內容請參考這里。
二、Jupyter Notebook 使用入門
安裝
本人在python3,windows環境直接通過pip安裝:
運行
安裝成功后,通過cmd命令行方式切換到python運行環境下,然后直接命令行中輸入:
此時你的Web瀏覽器被自動打開,顯示文件目錄。通過點擊右上角的 new 創建新文檔。
界面
Notebook 文檔是由一系列單元(Cell)構成,主要有兩種形式的單元:
代碼單元:這里是你編寫代碼的地方,通過按 Shift + Enter 運行代碼,其結果顯示在本單元下方。代碼單元左邊有 In [1]: 這樣的序列標記,方便人們查看代碼的執行次序,如下圖:
Markdown單元:在這里對文本進行編輯,采用 markdown的語法規范,可以設置文本格式、插入鏈接、圖片甚至數學公式。同樣使用Shift+Enter運行markdown單元來顯示格式化的文本,如下圖:
類似于Linux的Vim編輯器,在notebook中也有兩種模式:
編輯模式:編輯文本和代碼。選中單元并按 Enter 鍵進入編輯模式,此時單元左側顯示綠色豎線。
命令模式:用于執行鍵盤輸入的快捷命令。通過Esc鍵進入命令模式,此時單元左側顯示藍色豎線。
如果要使用快捷鍵,首先按Esc鍵進入命令模式,然后按相應的鍵實現對文檔的操作,注意查看所有快捷命令可以按H。
比如切換成代碼單元(Y)或markdown 單元(M),或者在本單元的下方增加一單元(B)。
當命令模式切換到編輯模式,只要點擊具體單元Cell輸入框就可以進行編輯了。
以上主要是Jupyter Notebook簡單的一些介紹,具體高級用法可以在使用當中學習。
以上文章主要借鑒了作者:“魚心DrFish” ,鏈接:https://www.jianshu.com/p/86117613b7a6,在此感謝!
總結
以上是生活随笔為你收集整理的【工具】Jupyter Notebook介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【数据库】Mysql日期/时间函数实际案
- 下一篇: Python Pytest装饰器@pyt