更新時間:2018-05-02 來源:黑馬程序員 瀏覽量:
有些網(wǎng)友對Python數(shù)據(jù)分析工具認識不是很全面,本文將整理如下:
1) NumPy:全稱Numerical Python,是Python科學計算的基礎包。功能主要包括:
① 快速高效的多維數(shù)組對象ndarray(numerical data array);
②用于對數(shù)組執(zhí)行元素級計算以及直接對數(shù)組執(zhí)行數(shù)學運算的函數(shù);
③用于讀取硬盤上基于數(shù)組的數(shù)據(jù)集的工具;
④ 線性代數(shù)運算,傅里葉變換,以及隨機數(shù)生成;
⑤ 用于將C、C++、Fortran代碼集成到Python的工具。
NumPy數(shù)組在存儲和處理數(shù)據(jù)時要比內(nèi)置的Python數(shù)據(jù)結構高效得多。此外,用低級語言(如C和Fortran)編寫的庫可以直接操作NumPy數(shù)組中的數(shù)據(jù),無需進行任何數(shù)據(jù)復制工作。
2) Pandas:名字源自于Panel Data和Python Data Analysis。提供了快速便捷的處理結構化數(shù)據(jù)的大量數(shù)據(jù)結構和函數(shù),它是使Python稱為強大而高效的數(shù)據(jù)分析環(huán)境的重要因素之一。用得較多的數(shù)據(jù)對象是DataFrame(面向列的二維表結構)。
Pandas兼具NumPy高性能的數(shù)組計算功能以及電子表格和關系型數(shù)據(jù)庫(如SQL)靈活的數(shù)據(jù)處理功能,也提供了復雜精細的索引功能(用于分片、切片、聚合、選取子集等)。
3) matplotlib:最流行的繪制數(shù)據(jù)圖表的Python庫。它和Ipython結合的很好。
4) IPython:是Python科學計算標準工具集的組成部分,它將其他所有的東西聯(lián)系到了一起,為交互式和探索式計算提供了強健高效的環(huán)境,它是一個增強的Python Shell。
在用Python編程時經(jīng)常用到IPython,包括運行、調(diào)試和測試代碼。
IPython啟動時使用ipython --pylab命令以pylab模式打開可以直接畫圖,pylab是matplotlib的一個子模塊,也可以通過使用import pylab as pl方式使用(pl.plot(x, y),x,y為list)。
IPython notebook改為Jupyternotebook了,notebook模塊從IPython中單獨拉出來了,這樣IPython的安裝更加小了。使用pip install jupyternotebook 安裝(如果使用pipinstall jupyter則安裝jupyter,除了notebook還包含其他工具)。
5) SciPy:是一組專門解決科學計算中各種標準問題域的包的集合。主要包括下面這些包:
scipy.integrate:數(shù)值積分例程和微分方程求解器;
scipy.linalg:擴展了由numpy.linalg提供的線性代數(shù)例程和矩陣分解功能;
scipy.optimize:函數(shù)優(yōu)化器(最小化器)以及根查找算法;
scipy.signal:信號處理工具;
scipy.sparse:稀疏矩陣和稀疏線性系統(tǒng)求解器;
scipy.special:specfun(這是一個實現(xiàn)了許多常用數(shù)學函數(shù)(如伽瑪函數(shù))的Fortran庫)的包裝器;
scipy.stats:標準連續(xù)和離散概率分布(如密度函數(shù)、采樣器、連續(xù)分布函數(shù)等),各種統(tǒng)計檢驗方法以及更好的描述統(tǒng)計法;
scipy.weave:利用內(nèi)聯(lián)C++代碼加速數(shù)組計算的工具。
NumPy和SciPy的有機結合完全可以取代Matlab的計算功能。
注:本文來源于網(wǎng)絡。