【Python開發】Python中數據分析環境的搭建

:不管是任何一門語言,剛開始入門的時候,語言運行環境的搭建都是一件不輕鬆的事情。html

 

Python的運行環境


要運行或寫Python代碼,就須要Python的運行環境,主要的Python有如下三類:python

  1. 原生態的Python:就是直接從Python的官網下載,而後安裝使用。這類方法最簡單直接,可是後期不容易維護;
  2. 一些其餘類型的Python發行本:這種類型的Python通常與一些package和其餘工具整合在一塊兒,相似於定製版的Python,易於安裝和使用,例如用的比較多的Anaconda發行版;
  3. 使用docker來提供Python的運行環境:使用該方法,不用在本身電腦上直接安裝Python的,只用在docker中構建好相應的Python的image就行了。

回想本身使用Python的過程,一開始也是直接到Python的官網上下載最新版本的安裝包。安裝完Python後,添加環境變量,在cmd中用pip一個一個安裝須要使用的package。每次都是重複這樣的過程,有時候會遇到一些莫名其妙的問題,好比某些package沒法安裝成功;有時候只能下源碼本身編譯安裝。有時候還會須要不一樣版本的Python,電腦裏就會出現多個版本的Python。git

如今後面兩類方法用的比較多。github

 

關於開發環境


還記得有段時間接觸到Java,一直分不清楚JRE和JDK的區別。如今終於搞明白了,JRE是運行是Java運行環境(Java Runtime Environment),能夠用來運行Java的代碼;JDK是Java開發工具包(Java Developer's Kit),即Java的開發環境,主要用來寫代碼。docker

寫代碼時,有一個好的集成開發環境(integrated development environment,IDE)會讓咱們事半功倍,包括但不限於如下這些優勢:windows

  • 語法檢查;
  • 提示及命令補全;
  • 好看的配色和字體;
  • 強大的debug功能;
  • 對大型project的管理功能。

我用的比較多的IDE包括:PyCharm,Spyder和Jupyter notebook.瀏覽器

  • PyCharm在開發大型項目時是首選,可是平時分析數據時就顯得有些笨重了;
  • Spyder主要用於科學計算(與RStudio很是像,能夠單行運行);可是對內存要求比較大,數據量比較大的時候容易崩潰;
  • Jupyter notebook算是新生代的數據科學界的IDE,很是適合作數據分析。

 

Anaconda發行版


 

 Anaconda是一種Python語言的免費增值開源發行版,用於進行大規模數據處理, 預測分析, 和科學計算, 致力於簡化包的管理和部署。Anaconda使用軟件包管理系統Conda進行包管理。——wikimarkdown

 上面是wiki中對Anaconda Python發行版的介紹,其特色就是:爲數據科學而定製的版本,利用conda來管理package比原生態的pip更方便。ide

 

完整版本的Anaconda

完整版本的Anaconda比較大,最新版的600多兆(windows, 64-Bit, Python3.6),該版本不只包括Python,還有預裝好的100多個package,省去了本身安裝包的麻煩。可是體積比較大,一般不少包都用不到。工具

下載連接:https://www.anaconda.com/download/

 

Miniconda

Minicoda只包含conda, Python和少許的包,大小隻有50幾兆。安裝好Miniconda後,可使用conda install來安裝其餘python的包

下載連接:https://conda.io/miniconda.html

 

下面以Miniconda爲例,安裝和配置Python的運行環境及開發環境(windows 7, 64位)

1. 安裝miniconda

打開上面的連接,下載想要安裝的版本後進行安裝。

更多參考安裝指南:https://conda.io/docs/user-guide/install/index.html

安裝完成後,在開始菜單能夠看到下面的標誌:

2. 安裝須要的package

點擊上面的Anaconda Prompt,打開anaconda的命令行工具。在這個命令行中能夠直接使用conda:

- conda info:查看當前虛擬環境的名稱和路徑,配置文件的位置,channel的列表,Python版本等基本狀況;

- conda env list: 列出全部的虛擬環境;

- conda list: 列出當前虛擬環境中已經安裝的包;

- conda search packagex: 搜索包packagex,會返回不一樣版本的包,可使用"packagex==x.y"來指定安裝x.y版;

- conda install packagex: 安裝包packagex.  

由上圖能夠看到,如今只有一個虛擬環境——base,在這個環境中有30個預裝的包。

下面安裝經常使用的幾個用於數據分析的工具包:

 

指定安裝0.19.1版的scikit-learn: conda install scikit-learn==0.19.1

 

conda做爲anaconda中Python包管理工具,還有其餘不少功能,可參考:

https://conda.io/docs/commands.html

https://conda.io/docs/_downloads/conda-cheatsheet.pdf

 

 3. 安裝jupyter notebook

安裝jupyter notebook的命令:conda install jupyter

安裝後,能夠看到開始菜單多了一個圖標:

 

4. 運行jupyter notebook

使用時,能夠直接從開始菜單中的"Jupyter Notebook"啓動,或是在命令行中輸入jupyter notebook。打開後,會在瀏覽器中打開一個頁面:

連接默認爲:http://localhost:8888/tree

界面以下:

點擊圖中框出來的"New"菜單,選擇"Python 3"就能夠打開一個新的notebook

界面以下:

這時就能夠寫代碼了!

退出時,關閉相應的cmd窗口就能夠了。

 

Jupyter Notebook


對於Jupyter Notebook,徹底值得單獨拿出來講說。

jupyter notebook是一個交互式的IDE,雖然不像PyCharm這種重型IDE那麼強大,可是仍然能夠當作IDE來用,並且有一些特點很是適合用來進行數據分析:

  • 能夠單行運行代碼,這樣就能夠一行一行的檢查代碼,查看運行結果,反覆嘗試;
  • 每次運行後變量都保存在內存中,所以能夠重複使用(這對於一些比較耗時的計算過程,尤爲有用);
  • 能夠寫markdown格式的註釋,這樣就能夠將整個分析過程很是清晰的表達出來;
  • 能夠利用Mathjax展現數學公式;
  • 能夠插入圖片等,能夠製做出圖和代碼並茂的很是精緻的筆記和文檔(有不少已經出版的書都是徹底使用notebook來寫做的).

可是我的感受jupyter notebook並不適用代碼量比較大的工程類項目。

本身最近幾個月一直在使用這個工具,可是尚未系統的研究過。這裏先放幾個連接,後面再來補充:

  • 知乎上的一個介紹:https://www.zhihu.com/question/37490497/answer/212044783(你爲何使用 jupyter ,進行分析,而不是用 python 腳本或僅僅利用 excel ? - 子珂的回答)
  • datacamp中介紹Jupyter Notebook的文章(包括如何運行R代碼):https://www.datacamp.com/community/tutorials/tutorial-jupyter-notebook
  • 另外一篇文章(包括快捷鍵,其餘注意事項等):https://www.dataquest.io/blog/jupyter-notebook-tutorial/

此外,JupyterLab:被稱爲下一代Jupyter,對原來的Jupyter Notebook作了不少改進。

參考文檔:https://jupyterlab.readthedocs.io/en/latest/

安裝:conda install -c conda-forge jupyterlab

因爲國內使用默認channel安裝包比較慢,安裝時能夠本身設置其餘來源的channel,下面使用了南京大學的鏡像:

(更多關於Anaconda 鏡像的使用方法,能夠參考清華大學開源軟件鏡像站上的使用幫助

          conda install -c http://mirrors.nju.edu.cn/anaconda/cloud/conda-forge/ jupyterlab

運行:jupyter lab

 

在Anaconda中,添加對R的支持

有時候須要用到R,在anaconda中安裝的R默認是由微軟的發行版(Microsoft R Open, MRO)

1. 安裝MRO

conda create -n mro_env r-essentials  # 這裏建立了一個新的虛擬環境"mro_env"來安裝與R相關的包

2. 安裝IRkernel

安裝好R的虛擬環境後,須要安裝IRKernel才能在在jupyter lab中使用R。第一步結束後進行下面的操做:

conda activate mro_env  # 進入新建立的虛擬環境

R  # 直接輸入R進入R的命令行界面,在R內部安裝所需的包和IRkernel

install.packages(c('repr', 'IRdisplay', 'evaluate', 'crayon', 'pbdZMQ', 'devtools', 'uuid', 'digest'))
devtools::install_github('IRkernel/IRkernel')

3. 激活IRkernal

IRkernel::installspec()

完成以上操做以後,再使用以前的命令安裝JupyterLab,就能夠在JupyterLab中使用R了:

 

 

<完>

相關文章
相關標籤/搜索