1. 程式人生 > >Python資料分析環境和工具

Python資料分析環境和工具

一、資料分析工作環境

Anaconda:

Anaconda(水蟒)是一個科學計算軟體發行版,集成了大量常用擴充套件包的環境,包含了 Python 直譯器,conda 包管理工具,以及 NumPy、Pandas、Matplotlib 等 180 多個科學計算包及其依賴項,並且支援所有作業系統平臺。

下載地址:https://www.continuum.io/downloads

  • conda命令和pip命令對比:

安裝包:pip install xxxconda install xxx

解除安裝包:pip uninstall xxxconda uninstall xxx

升級包:pip install upgrade xxx

conda update xxx

二、資料分析工具

Python本身的資料分析功能不強,需要第三方的擴充套件庫來增強的它的能力。我們課程用到的庫包括NumPyPandasMatplotlib等,下面對這三個庫做一個簡單介紹,後面會通過案例深入講解相關庫的使用。

Numpy

Python並沒有提供陣列的功能。雖然列表可以完成基本的陣列功能,但它不是真正的陣列,而且在資料量較大的時候,使用列表的速度會慢的讓人難以接受。為此,Numpy提供了真正的陣列功能,以及對資料進行快速高效處理的函式。Numpy還是很多更高階的擴充套件庫的依賴庫,後面講解的Matplotlib庫、Pandas庫都依賴於它。

Pandas

Pandas是Python下最強大的資料分析工具。它包含高階的資料結構,使得在Python中處理表格型資料非常快速和簡單。Pandas構建與Numpy之上,它使得以Numpy為中心的應用很容易被使用,最初是被作為金融資料分析工具而開發出來的。

Pandas功能非常強大,支援類似與SQL的資料增、刪、改、查,並且帶有豐富的資料處理函式,支援靈活的處理缺失資料。

Matplotlib

處理資料分析的結果,都免不了資料視覺化的問題。對於Python來說, Matplotlib來說是最著名的繪相簿,它主要用於二維繪圖。它可以讓我們非常快捷的用Python視覺化資料。

三、IDE開發工具

Jupyter Notebook:

命令:jupyter notebook

  • Anaconda自帶,無需單獨安裝

  • 實時檢視執行過程

  • 基本的web編輯器(本地)

  • .ipynb 檔案分享

  • 可互動式

  • 記錄歷史執行結果

  • 支援編寫markdown

IPython:

命令:ipython

  • Anaconda自帶,無需單獨安裝

  • Python的互動式命令列 Shell

  • 可互動式

  • 記錄歷史執行結果

  • 及時驗證結果

Spyder:

命令:spyder

  • Anaconda自帶,無需單獨安裝

  • 免費,操作簡單的圖形介面IDE

PyCharm:

  • JetBrains公司出品,功能最強大的 Python 圖形介面IDE。

  • 收費軟體,需要自行安裝和購買:https://www.jetbrains.com/pycharm/download

四、Python3 常用的新特性

  • print() 是函式,不再是一個語句

  • Python2中的raw_input()輸入函式,改為 input()

  • Python 3 對文字和二進位制資料做了更為清晰的區分。

    • 新增資料型別 bytes (位元組包),代表二進位制資料以及被編碼的文字字串前有個字首b

  1. 文字由unicode表示,為str型別

  2. 二進位制資料由bytes (位元組包)表示,為bytes型別

Python3中字串型別 bytes 與 str 轉換

  1. str 可以編碼(encode)成 bytes

  2. bytes 可以解碼(decode)成 str

字串格式化輸出方式:新增format()方式

dict型別變化:

之前的 iterkeys(), itervalues(), iteritems(),

改為現在的 keys(), values(), items()

五、字串編碼格式回顧:

  • ASCII:早期計算機儲存英文字元的編碼方式

  • GB2312:對ASCII的中文擴充套件

  • GBK/GB18030:包括了GB2312的所有內容,同時又增加了近20000個新的漢字和符號,是簡體中文Windows環境下預設編碼格式

  • Unicode:包括了全球的符號和編碼。每個字元用3~4個位元組表示,浪費空間

  • UTF-8:可變長的編碼方式,在網際網路上使用最廣泛的一種Unicode的實現方式,根據語種決定字元長度,如一個漢字3個位元組,一個字母1個位元組,也是Linux環境下預設編碼格式。

在Python3中,Unicode編碼字串使用str型別表示,非Unicode編碼字串(如gbk、utf-8等)用bytes型別表示。

關注【Python開發者交流平臺】公眾號 ,在微信後臺回覆【領取資源】,獲取IT資源200G乾貨大全。