利用Python進行數據分析(1) 簡單介紹
- 2019 年 10 月 7 日
- 筆記
利用Python進行數據分析(1) 簡單介紹
一、處理數據的基本內容
數據分析是指對數據進行控制、處理、整理、分析的過程。
在這裡,「數據」是指結構化的數據,例如:記錄、多維數組、Excel 里的數據、關係型資料庫中的數據、數據表等。
二、說說 Python 這門語言
Python 是現在最受歡迎的動態程式語言之一(還有 Perl、Ruby 等)。近些年非常流行用 Python 建站,比如流行的 Python Web 框架 Django。
Python 這類語言被稱為腳本語言,因為它們可以編寫簡短粗糙的小程式,即腳本。不過這好像在說 Python 無法構建嚴謹的軟體似的,其實經過幾年來不斷改良,Python 不但擁有強大的數據處理功能,而且完全可以用它構建生產系統。
不過由於 Python 是一種解釋型語言,大部分 Python 程式碼都要比編譯型語言(比如 C++ 和 Java)的程式碼慢得多。所以在那些要求延遲非常小的應用中,為了盡最大可能優化性能,使用 C++ 這種更低級且低生產率的語言更值得。
對於高並發、多執行緒的應用程式,Python 也不是一種理想的程式語言,這是因為 Python 有一個叫 GIL(全局解釋器鎖)的東西,這是一種防止解釋器同時執行多條Python 位元組碼指令的機制。這並不是說 Python 不能執行真正多執行緒並行程式碼,只不過這些程式碼不能在單個 Python 進程中執行而已。
三、與數據分析相關的 Python 庫
NumPy
NumPy 是 Python 科學計算的基礎包,它提供:
快速高效的多維數組對象 ndarray;直接對數組執行數學運算及對數組執行元素級計算的函數;線性代數運算、隨機數生成; 將 C、C++、Fortran 程式碼集成到 Python 的工具等。它專為進行嚴格的數字處理而產生。多為很多大型金融公司使用,以及核心的科學計算組織如:Lawrence Livermore,NASA 用其處理一些本來使用 C++,Fortran 或Matlab 等所做的任務。
Pandas
Pandas 主要提供快速便捷地處理結構化數據的大量數據結構和函數。
Matplotlib Matplotlib 是最流行的用於繪製數據圖表的 Python 庫。
IPython IPython 是 Python 科學計算標準工具集的組成部分,是一個增強的 Python Shell,目的是提高編寫、測試、調試 Python 程式碼的速度。主要用於互動式數據處理和利用matplotlib 對數據進行可視化處理。
SciPy
SciPy 是一組專門解決科學計算中各種標準問題域的包的集合。主要包括以下包:
- scipy.integrate: 數值積分常式和微分方程求解器;
- scipy.linalg: 擴展了由 numpy.linalg 提供的線性代數常式和矩陣分解功能;
- scipy.optimize: 函數優化器以及根查找演算法;
- scipy.signal: 訊號處理工具;
- scipy.sparse: 稀疏矩陣和稀疏線性系統求解器;
- scipy.special: SPECFUN(這是一個實現了許多常用數學函數的 Fortran 庫)的包裝器。
- scipy.stats: 標準連續和離散概率分布、各種統計檢驗方法和更好的描述統計法;
- scipy.weave: 利用內聯 C++ 程式碼加速數組計算的工具。
四、環境安裝與配置
很簡單,以 Mac OS X 系統安裝步驟為例:

先需要安裝 Xcode,為了使用 gcc C 和 C++ 編譯器
下載並安裝 Unthought Canopy 下載地址:https://store.enthought.com/downloads/ Unthought Canopy 是面向科學計算的 Python 安裝包,已包含 NumPy, SciPy, Pandas, Matplotlib, IPython 等庫。
檢測是否安裝成功:
啟動 IPython,導入 pandas 並輸入 plot(arange(100)),如果彈出一個包含一條直線的繪圖框即表示安裝成功:
包含一條直線的繪圖框:
