1、處理數據的基本內容
數據分析 是指對數據進行控制、處理、整理、分析的過程。
在這裏,「數據」是指結構化的數據,例如:記錄、多維數組、Excel 裏的數據、關係型數據庫中的數據、數據表等。
2、說說 Python 這門語言
Python 是如今最受歡迎的動態編程語言之一(還有 Perl、Ruby 等)。近些年很是流行用 Python 建站,好比流行的 Python Web 框架 Django。
Python 這類語言被稱爲腳本語言,由於它們能夠編寫簡短粗糙的小程序,即腳本。不過這好像在說 Python 沒法構建嚴謹的軟件似的,其實通過幾年來不斷改良,
Python 不但擁有強大的數據處理功能,並且徹底能夠用它構建生產系統 。
不過因爲 Python 是一種解釋型語言,
大部分 Python 代碼都要比編譯型語言(好比 C++ 和 Java)的代碼慢得多 。因此在那些要求延遲很是小的應用中,爲了盡最大可能優化性能,使用 C++ 這種更低級且低生產率的語言更值得。
對於高併發、多線程的應用程序,Python 也不是一種理想的編程語言 ,這是由於 Python 有一個叫 GIL(全局解釋器鎖)的東西,這是一種防止解釋器同時執行多條Python 字節碼指令的機制。這並非說 Python 不能執行真正多線程並行代碼,只不過這些代碼不能在單個 Python 進程中執行而已。
3、與數據分析相關的 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++ 代碼加速數組計算的工具。
4、環境安裝與配置
很簡單,以 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)),若是彈出一個包含一條直線的繪圖框即表示安裝成功。
打開 Terminal:
包含一條直線的繪圖框: