首頁技術(shù)文章正文

Python數(shù)據(jù)分析工具介紹

更新時間:2018-05-02 來源:黑馬程序員 瀏覽量:

有些網(wǎng)友對Python數(shù)據(jù)分析工具認識不是很全面,本文將整理如下:


1) NumPy:全稱Numerical Python,是Python科學(xué)計算的基礎(chǔ)包。功能主要包括:

① 快速高效的多維數(shù)組對象ndarray(numerical data array);

②用于對數(shù)組執(zhí)行元素級計算以及直接對數(shù)組執(zhí)行數(shù)學(xué)運算的函數(shù);

③用于讀取硬盤上基于數(shù)組的數(shù)據(jù)集的工具;

④ 線性代數(shù)運算,傅里葉變換,以及隨機數(shù)生成;

⑤ 用于將C、C++、Fortran代碼集成到Python的工具。

NumPy數(shù)組在存儲和處理數(shù)據(jù)時要比內(nèi)置的Python數(shù)據(jù)結(jié)構(gòu)高效得多。此外,用低級語言(如C和Fortran)編寫的庫可以直接操作NumPy數(shù)組中的數(shù)據(jù),無需進行任何數(shù)據(jù)復(fù)制工作。


2) Pandas:名字源自于Panel Data和Python Data Analysis。提供了快速便捷的處理結(jié)構(gòu)化數(shù)據(jù)的大量數(shù)據(jù)結(jié)構(gòu)和函數(shù),它是使Python稱為強大而高效的數(shù)據(jù)分析環(huán)境的重要因素之一。用得較多的數(shù)據(jù)對象是DataFrame(面向列的二維表結(jié)構(gòu))。

Pandas兼具NumPy高性能的數(shù)組計算功能以及電子表格和關(guān)系型數(shù)據(jù)庫(如SQL)靈活的數(shù)據(jù)處理功能,也提供了復(fù)雜精細的索引功能(用于分片、切片、聚合、選取子集等)。


3) matplotlib:最流行的繪制數(shù)據(jù)圖表的Python庫。它和Ipython結(jié)合的很好。


4) IPython:是Python科學(xué)計算標(biāo)準(zhǔn)工具集的組成部分,它將其他所有的東西聯(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:是一組專門解決科學(xué)計算中各種標(biāo)準(zhǔn)問題域的包的集合。主要包括下面這些包:

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ù)學(xué)函數(shù)(如伽瑪函數(shù))的Fortran庫)的包裝器;

scipy.stats:標(biāo)準(zhǔn)連續(xù)和離散概率分布(如密度函數(shù)、采樣器、連續(xù)分布函數(shù)等),各種統(tǒng)計檢驗方法以及更好的描述統(tǒng)計法;

scipy.weave:利用內(nèi)聯(lián)C++代碼加速數(shù)組計算的工具。

NumPy和SciPy的有機結(jié)合完全可以取代Matlab的計算功能。

注:本文來源于網(wǎng)絡(luò)。

分享到:
在線咨詢 我要報名
和我們在線交談!