1. 程式人生 > >在Jupyter notebook和spyder上用python做資料探勘,安裝使用簡介和常見錯誤

在Jupyter notebook和spyder上用python做資料探勘,安裝使用簡介和常見錯誤

這裡借知乎使用者的幾句對Jupyter notebook評價:

我很喜歡Jupyter,使用的過程就好比拿紙和筆,還有計算器做數學演算. 而且可以把草稿輕鬆擦掉。比如,要寫個小Paper,完全可以用Jupyter來做,程式碼和論述完美的結合了,而且直接還能跑起來。弄完之後,把亂糟糟的Cell直接卡嚓掉,然後to pdf,就是一篇paper了。

Jupyter原名Python notebook,是一個在瀏覽器上編輯的Python開發環境,用他來做資料挖據將會給你帶來全新的開發體驗。
Jupyter支援cell執行,markdown,letex,還可以很方便的分享給別人。

Spyder 也是很優秀的python開發編譯環境,也支援cell內執行,雖說沒有notebook美觀,沒有釋出分享功能,但整體介面簡潔,功能全,也非常適合python開發。特別的,支援debug除錯和ipython互動式介面。

一、安裝環境

安裝工具介紹:
用python做資料探勘一般需要用到如下幾個基礎工具包:

  • numpy 陣列 ,使用較為簡單,可以做任何陣列或矩陣操作,因為numpy基於C語言,所以執行速度比pandas快不止一點點
  • pandas (重點) Series和DataFrame使用率極高,period和timeStamp在處理時間序列問題也常用
  • sklearn (重點) 內建了機器學習用到的大部分演算法,還有預處理、特徵工程、測試非常多有用的函式,難點是現在還沒有中文說明文件參考學習
  • scipy 包含各種數學計算公式
  • statsmodel 統計學分析,包含時間序列如arima

前三個包都可以通過先安裝python在通過 pip install ** 安裝,然而scipy這個包依賴太多安裝容易出錯,所以推薦使用Anaconda整合工具安裝,裡面包含了python,ipython,和scipy,pandas,numpy等常見的包,以及我要重點介紹的Jupyter notebook和spyder兩個編譯環境

Anaconda官網地址,下載對應版本的,然後一直下一步就OK了,是不是非常簡單。(建議解除安裝python安裝2.7版本,anaconda也選擇2.7版本)
建議選擇2.7穩定版本
安裝完成後,我們所要用的基礎包都裝好了,需要安裝其他包的,可以使用在cmd下conda install安裝(conda是anaconda安裝好後可以使用)。
需要注意pip和conda安裝的包是在兩個路徑下面,他們都是獨立的框架體系,所以Windows使用者出現一個問題就是多個版本的python會報錯問題。

解決方法:
第一個方法:把原先安裝的python解除安裝或者用python版本管理器管理
第二個方法,如果這個包在anaconda庫中沒有,先用pip安裝該包,再加入兩行程式碼:
import sys
sys.path.append('需要匯入的包路徑')

檢視’需要匯入包的路徑‘可以在ipython中輸入print sys.path,寫完這兩行程式碼,再print sys.path就可以看到anaconda的路徑下多了你匯入包的路徑了。

二、jupyter notebook使用

安裝完anaconda也就可以使用jupyter,在cmd下輸入jupyter notebook就可以啟動了這裡寫圖片描述

jupyter用網頁瀏覽器開啟,開啟後顯示的是你的根目錄下檔案,點選進入你想要建立python的資料夾下,然後點選右上角new,點選python 2就可以建立.ipynb結尾的notebook檔案
這裡寫圖片描述

你可以建立多個notebook檔案,要檢視檔案執行狀態,點選上面Runing可以檢視,要關閉notebook,注意必須先在Runing下點選shutdown,再關閉cmd後臺視窗
這裡寫圖片描述

notebook使用快捷鍵介紹可以在help中keyboard shortcuts中檢視

主要有兩種模式,command和edit 模式,我常用的快捷鍵已經標出,其他快捷鍵如ctrl+D,Tab鍵不一一列舉。
這裡寫圖片描述

這裡寫圖片描述

三、spyder使用

在cmd下輸入spyder就可以啟動了
這裡寫圖片描述
spyder主要包含程式碼區,控制檯,ipython等,功能強大
這裡寫圖片描述
支援cell模型,加上一行 ‘#%%’ ,下面的程式碼就是一個cell區域,和notebook 一樣的快捷鍵ctrl+enter,就可以只運行當前cell區域內程式碼,變數會被儲存在記憶體中

持續更新中……