與R、MATLAB、SAS、Stata等工具相比,Python在數據分析與交互、探索性計算、數據可視化等方面有其優勢。近年來,由於Python庫(如pandas)的不斷發展,在數據挖掘領域嶄露頭角。結合其在通用編程方面的強大實力,我們可以只用Python作為壹種語言來構建以數據為中心的應用。
因為python是解釋性語言,大部分編譯語言運行速度都比python代碼快,所以有些同學鄙視python。但邊肖認為,python是壹種高級語言,其生產效率更高。程序員的時間通常比CPU的時間更寶貴,為了權衡利弊,考慮python是值得的。
Python強大的計算能力依賴於其豐富而強大的庫:
Numpy
數值Python的簡稱,是Python科學計算的基礎包。其功能:
1.快速高效的多維數組對象ndarray。
2.用於對數組執行元素級計算和直接對數組執行數學運算的函數。
3.線性代數運算、傅立葉變換和隨機數生成。
4.將C,C++和Fortran代碼集成到Python中的工具。
除了為Python提供快速數組處理能力,NumPy在數據分析中還有另壹個主要作用,就是作為算法間傳遞數據的容器。對於數值型數據,在存儲和處理數據時,NumPy數組比內置的Python數據結構要高效得多。另外,用低級語言(如C和Fortran)編寫的庫可以直接操作NumPy數組中的數據,不需要任何數據復制。
SciPy
是壹套專門用於解決科學計算中各種標準問題域的軟件包,主要包括以下軟件包:
1.scipy.integrate:數值積分例程和微分方程求解器。
2.scipy.linalg:它擴展了numpy.linalg提供的線性代數例程和矩陣分解函數。
3.scipy.optimize:函數優化器(最小化)和根搜索算法。
4.信號處理工具。
5.scipy.sparse:稀疏矩陣和稀疏線性系統的求解器。
6.scipy . special:spec fun的包裝器(壹個Fortran庫,實現了許多常用的數學函數,如gamma函數)。
7.scipy.stats:標準的連續和離散概率分布(如密度函數、抽樣器、連續分布函數等。),各種統計檢驗方法,以及更好的描述性統計方法。
8.scipy.weave:壹個通過使用內聯C++代碼來加速數組計算的工具。
註:NumPy和SciPy的有機結合完全可以替代MATLAB的計算功能(包括其插件工具箱)。
交響樂
Python是壹個數學符號計算庫,可以用來推導和計算數學表達式的符號。
熊貓
提供了大量的數據結構和函數,使我們能夠快速方便地處理結構化數據。妳很快就會發現,這是讓Python成為壹個強大而高效的數據分析環境的重要因素之壹。
Pandas將NumPy的高性能數組計算功能與電子表格和關系數據庫(如SQL)的靈活數據處理功能相結合。它提供了復雜而精細的索引功能,從而可以更方便地完成數據子集的整形、切片和切塊、聚集和選擇等操作。
對於使用R語言進行統計計算的用戶來說,DataFrame這個名字肯定不會陌生,因為它來自R的data.frame對象.但是這兩個對象並不相同。R的data.frame對象提供的功能只是DataFrame對象提供的功能的子集。也就是說熊貓的DataFrame函數比r的data.frame函數更強大。
matplotlib
是用於繪制數據圖表的最流行的Python庫。它最初是由約翰·d·亨特(JDH)創建的,目前由壹個大型開發團隊維護。它非常適合創建在出版物中使用的圖表。它與IPython(將很快討論)很好地集成在壹起,從而提供了壹個非常有用的交互式數據繪制環境。妳畫的圖表也是交互式的。您可以使用繪圖窗口中的工具欄來放大圖表中的某個區域,或者平移和瀏覽整個圖表。
TVTK
它是python數據的三維可視化庫,是壹套功能強大的三維可視化庫。它提供Python風格的API,支持Trait屬性(Python是壹種動態編程語言,其變量沒有類型,有助於快速開發,但也有缺點。特征庫可以給對象的屬性增加檢查功能,從而提高程序的可讀性,降低錯誤率。)和NumPy數組。這個庫非常大,所以開發公司提供了壹個查詢文檔,用戶可以通過下面的語句運行這個文檔:
& gt& gt& gt從entthought . tvtk . tools導入tvtk_doc
& gt& gt& gttvtk_doc.main()
sci kit-學習
是壹個基於python的機器學習庫,基於NumPy,SciPy和matplotlib,在數據挖掘和數據分析方面簡單高效。它的文檔和例子都比較齊全。
邊肖的建議:初學者應該使用python(x,y),這是壹個免費的理工科開發包,提供數學計算、數據分析和可視化展示。非常方便!
其官方網站:www.pythonxy.com(由於某種原因,在中國很難起床,需要翻墻)。
下載地址:ftp://ftp.ntua.gr/pub/devel/pythonxy/(邊肖在網上找到的地址,可用於親測)。
下圖展示了python(x,y)的強大功能。