使用jupyter notebook搭建資料科學最佳互動式環境
小編近來在猛攻Python,畢竟江湖人傳“人生苦短,我用Python”。當然了,自然也不是為了跟風,從去年開始小編的Python水平就一直處於從入門到放棄狀態,而今為了提升核心競爭力,必然要下功夫學習一番。作為當下資料科學最熱的兩門程式語言,R和Python一直都是圈內焦點。小編今天要談的是如何使用jupyter notebook這款神器來搭建最佳的資料科學互動式環境,以及jupyternotebook的一些使用的簡單教程。
熟悉Python的朋友都知道,除了官方版本的CPython直譯器,IPython是一款基於CPython的互動式直譯器,而jupyter notebook就是以IPython為核心的一款互動式筆記本,可以全程從使用者的角度展現分析邏輯和思維。隨著jupyternotebook專案的不斷髮展壯大,其本身也不再僅侷限於Python這一種程式語言了,Jupyter 的名字就很好地詮釋了這一發展過程,它是 Ju lia、 Pyt hon 以及 R 語言的組合,拼寫相近於木星(Jupiter),而且現在支援的語言也遠超這三種了。當然,我們從資料科學的角度出發,將jupyter notebook搭建成包括Python和R這兩種資料科學語言的互動式環境就足夠了。
jupyter的安裝非常容易,可以直接在cmd中使用pip工具安裝:
pip install jupyter notebook
當然如果你是使用anaconda套件來安裝Python的,系統就直接內建了jupyter,然後在cmd中直接鍵入jupyter notebook即可啟動jupyter的互動式環境。如果想在指定檔案下建立 .ipynb檔案,也可直接在cmd中定位到該資料夾下啟動jupyter。啟動成功後瀏覽器會自動跳轉到jupyter notebook工作介面:
然後在介面右上角New選單欄下即可根據需要建立新的notebook:
小編這裡選的是Python3,所以互動式介面開啟就可以看到滿滿的基於IPython的工作環境:
接下來就可以在這個本子上愉快的寫程式碼啦。
像這樣子每一個長方形小框框我們稱之為cell,獨立的一塊一塊存在,每一個cell需要單獨執行,除了可以單擊上面一排的按鍵之外,jupyter notebook為我們提供了大量的快捷鍵,比如說執行的快捷鍵為Shift+Enter。
除了cell單元用來編寫程式碼之外,jupyter還提供了可用於文字編輯的markdown單元,在選單欄點選下拉即可找到,基於markdown的文字編排操作方法cell單元一致:
另外,需要提及的一點是,jupyter的編輯介面包括編輯模式和命令模式兩種。編輯模式就是在cell或者markdown單元下編輯文字和程式碼,定位到具體的單元,Enter即可進入編輯模式,編輯模式下單元左側會呈現出綠色豎線。而命令模式則用於執行剛剛上面提到的鍵盤輸入的快捷命令,使用Esc鍵進入命令模式,此時單元左側呈現藍色豎線。
本文在這裡列出命令模式和編輯模式下jupyter所支援的一些常用的快捷命令:
命令模式:
快捷鍵 |
操作含義 |
快捷鍵 |
操作含義 |
Enter |
進入編輯模式 |
Shift+V |
貼上到上方單元 |
Shift+Enter |
執行本單元並選中下個單元 |
V |
貼上到下方單元 |
Ctrl+Enter |
執行本單元 |
Z |
刪除恢復的最後一個單元 |
Alt+Enter |
執行本單元並在其下方插入新單元 |
雙擊D |
刪除選中的單元 |
Y |
單元轉入程式碼狀態 |
Shift+M |
合併選中的單元 |
M |
轉入markdown狀態 |
Ctrl+S/S |
儲存文件 |
R |
轉入raw狀態 |
L |
轉換行號 |
1-6 |
設定1-6級標題 |
O |
轉換輸出 |
K |
選中上方單元 |
Esc/Q |
關閉頁面 |
J |
選中下方單元 |
H |
顯示快捷鍵幫助 |
A |
在上方插入新單元 |
雙擊I |
中斷核心連線 |
B |
在下方插入新單元 |
雙擊O |
重啟核心連線 |
X |
剪下選中的單元 |
Shift |
忽略 |
C |
複製選中的單元 |
Space |
向下滾動 |
編輯模式:
快捷鍵 |
操作含義 |
快捷鍵 |
操作含義 |
Tab |
補全程式碼或縮排 |
Shift+Tab |
提示 |
Ctrl+] |
縮排 |
Ctrl+[ |
解除縮排 |
Ctrl+A |
全選 |
Ctrl+Z |
還原 |
Ctrl+Y |
重做 |
Ctrl+Home |
跳到單元開頭 |
Ctrl+Up |
跳到單元開頭 |
Ctrl+End |
跳到單元末尾 |
(編輯模式其餘快捷命令與命令模式下相同)
上面的例子小編全部都是從Python來看的,前面也提到了,jupyter notebook發展到如今,已經可以支援數十種程式語言了,那我們想要讓我們的jupyter裡面包含R的Kernel也並不是什麼難事,下面就簡單介紹下如何讓你的R程式碼在jupyter裡面跑起來。
jupyter notebook目前可支援的全部程式語言可見:
https://github.com/jupyter/jupyter/wiki/Jupyter-kernels
要想在jupyter notebook中執行R語言其實非常簡單,按順序安裝下面擴充套件包即可:
install.package('repr','IRdisplay','evaluate','crayon','pbdZMQ','devtools','uuid','digest')
library(devtools)
install_github("IRkernel/IRkernel")
IRkernel::installspec()
在R中執行上述四行程式碼,重新開啟你的jupyternotebook即可看到對於R的支援標誌:
簡單測試幾行R程式碼,比如說小編這裡使用科比的職業生涯投籃資料繪製出科比的投籃方式選擇的視覺化圖。
這樣,基於jupyter notebook的R和Python的資料科學工作環境就搭建好啦。大家也來試一試吧!
原文釋出時間為:2018-11-6
本文作者:louwill
本文來自雲棲社群合作伙伴“ ofollow,noindex">Python愛好者社群 ”,瞭解相關資訊可以關注“ Python愛好者社群 ”。