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

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

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

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


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

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

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

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

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

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

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


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

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


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


4) IPython:是Python科學(xué)計(jì)算標(biāo)準(zhǔn)工具集的組成部分,它將其他所有的東西聯(lián)系到了一起,為交互式和探索式計(jì)算提供了強(qiáng)健高效的環(huán)境,它是一個(gè)增強(qiáng)的Python Shell。

在用Python編程時(shí)經(jīng)常用到IPython,包括運(yùn)行、調(diào)試和測(cè)試代碼。

IPython啟動(dòng)時(shí)使用ipython --pylab命令以pylab模式打開可以直接畫圖,pylab是matplotlib的一個(gè)子模塊,也可以通過使用import pylab as pl方式使用(pl.plot(x, y),x,y為list)。

IPython notebook改為Jupyternotebook了,notebook模塊從IPython中單獨(dú)拉出來了,這樣IPython的安裝更加小了。使用pip install jupyternotebook 安裝(如果使用pipinstall jupyter則安裝jupyter,除了notebook還包含其他工具)。


5) SciPy:是一組專門解決科學(xué)計(jì)算中各種標(biāo)準(zhǔn)問題域的包的集合。主要包括下面這些包:

scipy.integrate:數(shù)值積分例程和微分方程求解器;

scipy.linalg:擴(kuò)展了由numpy.linalg提供的線性代數(shù)例程和矩陣分解功能;

scipy.optimize:函數(shù)優(yōu)化器(最小化器)以及根查找算法;

scipy.signal:信號(hào)處理工具;

scipy.sparse:稀疏矩陣和稀疏線性系統(tǒng)求解器;

scipy.special:specfun(這是一個(gè)實(shí)現(xiàn)了許多常用數(shù)學(xué)函數(shù)(如伽瑪函數(shù))的Fortran庫)的包裝器;

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

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

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

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

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!