Python是數(shù)據(jù)處理常用工具绅作,可以處理數(shù)量級(jí)從幾K至幾T不等的數(shù)據(jù)魁蒜,具有較高的開(kāi)發(fā)效率和可維護(hù)性憔恳,還具有較強(qiáng)的通用性和跨平臺(tái)性摔刁,這里就為大家分享幾個(gè)不錯(cuò)的數(shù)據(jù)分析工具,需要的朋友可以參考下
Python是數(shù)據(jù)處理常用工具挥转,可以處理數(shù)量級(jí)從幾K至幾T不等的數(shù)據(jù),具有較高的開(kāi)發(fā)效率和可維護(hù)性共屈,還具有較強(qiáng)的通用性和跨平臺(tái)性扁位。Python可用于數(shù)據(jù)分析,但其單純依賴Python本身自帶的庫(kù)進(jìn)行數(shù)據(jù)分析還是具有一定的局限性的趁俊,需要安裝第三方擴(kuò)展庫(kù)來(lái)增強(qiáng)分析和挖掘能力域仇。
Python數(shù)據(jù)分析需要安裝的第三方擴(kuò)展庫(kù)有:Numpy、Pandas寺擂、SciPy暇务、Matplotlib泼掠、Scikit-Learn、Keras垦细、Gensim择镇、Scrapy等,以下是千鋒武漢Python培訓(xùn)老師對(duì)該第三方擴(kuò)展庫(kù)的簡(jiǎn)要介紹:
1. Pandas
Pandas是Python強(qiáng)大括改、靈活的數(shù)據(jù)分析和探索工具腻豌,包含Series、DataFrame等高級(jí)數(shù)據(jù)結(jié)構(gòu)和工具嘱能,安裝Pandas可使Python中處理數(shù)據(jù)非沉呙罚快速和簡(jiǎn)單。
Pandas是Python的一個(gè)數(shù)據(jù)分析包惹骂,Pandas最初被用作金融數(shù)據(jù)分析工具而開(kāi)發(fā)出來(lái)苏携,因此Pandas為時(shí)間序列分析提供了很好的支持。
Pandas是為了解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的对粪,Pandas納入了大量的庫(kù)和一些標(biāo)準(zhǔn)的數(shù)據(jù)模型右冻,提供了高效的操作大型數(shù)據(jù)集所需要的工具。Pandas提供了大量是我們快速便捷的處理數(shù)據(jù)的函數(shù)和方法著拭。Pandas包含了高級(jí)數(shù)據(jù)結(jié)構(gòu)纱扭,以及讓數(shù)據(jù)分析變得快速、簡(jiǎn)單的工具儡遮。它建立在Numpy之上跪但,使得Numpy應(yīng)用變得簡(jiǎn)單。
帶有坐標(biāo)軸的數(shù)據(jù)結(jié)構(gòu)峦萎,支持自動(dòng)或明確的數(shù)據(jù)對(duì)齊。這能防止由于數(shù)據(jù)結(jié)構(gòu)沒(méi)有對(duì)齊忆首,以及處理不同來(lái)源爱榔、采用不同索引的數(shù)據(jù)而產(chǎn)生的常見(jiàn)錯(cuò)誤。
使用Pandas更容易處理丟失數(shù)據(jù)糙及。
合并流行數(shù)據(jù)庫(kù)(如:基于SQL的數(shù)據(jù)庫(kù))
Pandas是進(jìn)行數(shù)據(jù)清晰/整理的最好工具详幽。
2. Numpy
Python沒(méi)有提供數(shù)組功能,Numpy可以提供數(shù)組支持以及相應(yīng)的高效處理函數(shù)浸锨,是Python數(shù)據(jù)分析的基礎(chǔ)唇聘,也是SciPy、Pandas等數(shù)據(jù)處理和科學(xué)計(jì)算庫(kù)最基本的函數(shù)功能庫(kù)柱搜,且其數(shù)據(jù)類型對(duì)Python數(shù)據(jù)分析十分有用迟郎。
Numpy提供了兩種基本的對(duì)象:ndarray和ufunc。ndarray是存儲(chǔ)單一數(shù)據(jù)類型的多維數(shù)組聪蘸,而ufunc是能夠?qū)?shù)組進(jìn)行處理的函數(shù)宪肖。Numpy的功能:
- N維數(shù)組表制,一種快速、高效使用內(nèi)存的多維數(shù)組控乾,他提供矢量化數(shù)學(xué)運(yùn)算么介。
- 可以不需要使用循環(huán),就能對(duì)整個(gè)數(shù)組內(nèi)的數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)數(shù)學(xué)運(yùn)算蜕衡。
- 非常便于傳送數(shù)據(jù)到用低級(jí)語(yǔ)言編寫(xiě)(C\C++)的外部庫(kù),也便于外部庫(kù)以Numpy數(shù)組形式返回?cái)?shù)據(jù)壤短。
Numpy不提供高級(jí)數(shù)據(jù)分析功能,但可以更加深刻的理解Numpy數(shù)組和面向數(shù)組的計(jì)算慨仿。
#一般以np作為numpy的別名
import numpy as np
#創(chuàng)建數(shù)組
a = np.array([2,1,0,5])
print(a)
print(a[:3])
print(a.min())
a.sort()
b = np.array([1,2,3],[4,5,6])
print(b*b)</pre>
3. Matplotlib
Matplotlib是強(qiáng)大的數(shù)據(jù)可視化工具和作圖庫(kù)久脯,是主要用于繪制數(shù)據(jù)圖表的Python庫(kù),提供了繪制各類可視化圖形的命令字庫(kù)镶骗、簡(jiǎn)單的接口桶现,可以方便用戶輕松掌握?qǐng)D形的格式,繪制各類可視化圖形鼎姊。
Matplotlib是Python的一個(gè)可視化模塊骡和,他能方便的只做線條圖、餅圖相寇、柱狀圖以及其他專業(yè)圖形慰于。
使用Matplotlib,可以定制所做圖表的任一方面唤衫。他支持所有操作系統(tǒng)下不同的GUI后端婆赠,并且可以將圖形輸出為常見(jiàn)的矢量圖和圖形測(cè)試,如PDF SVG JPG PNG BMP GIF.通過(guò)數(shù)據(jù)繪圖佳励,我們可以將枯燥的數(shù)字轉(zhuǎn)化成人們?nèi)菀捉邮盏膱D表休里。
Matplotlib是基于Numpy的一套Python包,這個(gè)包提供了吩咐的數(shù)據(jù)繪圖工具赃承,主要用于繪制一些統(tǒng)計(jì)圖形妙黍。
Matplotlib有一套允許定制各種屬性的默認(rèn)設(shè)置,可以控制Matplotlib中的每一個(gè)默認(rèn)屬性:圖像大小瞧剖、每英寸點(diǎn)數(shù)拭嫁、線寬、色彩和樣式抓于、子圖做粤、坐標(biāo)軸、網(wǎng)個(gè)屬性捉撮、文字和文字屬性怕品。
4. SciPy
SciPy是一組專門解決科學(xué)計(jì)算中各種標(biāo)準(zhǔn)問(wèn)題域的包的集合,包含的功能有最優(yōu)化巾遭、線性代數(shù)堵泽、積分修己、插值、擬合迎罗、特殊函數(shù)睬愤、快速傅里葉變換、信號(hào)處理和圖像處理纹安、常微分方程求解和其他科學(xué)與工程中常用的計(jì)算等尤辱,這些對(duì)數(shù)據(jù)分析和挖掘十分有用。
Scipy是一款方便厢岂、易于使用光督、專門為科學(xué)和工程設(shè)計(jì)的Python包,它包括統(tǒng)計(jì)塔粒、優(yōu)化结借、整合、線性代數(shù)模塊卒茬、傅里葉變換船老、信號(hào)和圖像處理、常微分方程求解器等圃酵。Scipy依賴于Numpy柳畔,并提供許多對(duì)用戶友好的和有效的數(shù)值例程,如數(shù)值積分和優(yōu)化郭赐。
Python有著像Matlab一樣強(qiáng)大的數(shù)值計(jì)算工具包Numpy薪韩;有著繪圖工具包Matplotlib;有著科學(xué)計(jì)算工具包Scipy。
Python能直接處理數(shù)據(jù)捌锭,而Pandas幾乎可以像SQL那樣對(duì)數(shù)據(jù)進(jìn)行控制俘陷。Matplotlib能夠?qū)?shù)據(jù)和記過(guò)進(jìn)行可視化,快速理解數(shù)據(jù)观谦。Scikit-Learn提供了機(jī)器學(xué)習(xí)算法的支持拉盾,Theano提供了升讀學(xué)習(xí)框架(還可以使用CPU加速)。
5. Keras
Keras是深度學(xué)習(xí)庫(kù)坎匿,人工神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)模型,基于Theano之上雷激,依賴于Numpy和Scipy替蔬,利用它可以搭建普通的神經(jīng)網(wǎng)絡(luò)和各種深度學(xué)習(xí)模型,如語(yǔ)言處理屎暇、圖像識(shí)別承桥、自編碼器、循環(huán)神經(jīng)網(wǎng)絡(luò)根悼、遞歸審計(jì)網(wǎng)絡(luò)凶异、卷積神經(jīng)網(wǎng)絡(luò)等蜀撑。
6. Scikit-Learn
Scikit-Learn是Python常用的機(jī)器學(xué)習(xí)工具包,提供了完善的機(jī)器學(xué)習(xí)工具箱剩彬,支持?jǐn)?shù)據(jù)預(yù)處理酷麦、分類、回歸喉恋、聚類沃饶、預(yù)測(cè)和模型分析等強(qiáng)大機(jī)器學(xué)習(xí)庫(kù),其依賴于Numpy轻黑、Scipy和Matplotlib等糊肤。
Scikit-Learn是基于Python機(jī)器學(xué)習(xí)的模塊,基于BSD開(kāi)源許可證氓鄙。
Scikit-Learn的安裝需要Numpy Scopy Matplotlib等模塊馆揉,Scikit-Learn的主要功能分為六個(gè)部分,分類抖拦、回歸升酣、聚類、數(shù)據(jù)降維蟋座、模型選擇拗踢、數(shù)據(jù)預(yù)處理。
Scikit-Learn自帶一些經(jīng)典的數(shù)據(jù)集向臀,比如用于分類的iris和digits數(shù)據(jù)集巢墅,還有用于回歸分析的boston house prices數(shù)據(jù)集。該數(shù)據(jù)集是一種字典結(jié)構(gòu)券膀,數(shù)據(jù)存儲(chǔ)在.data成員中君纫,輸出標(biāo)簽存儲(chǔ)在.target成員中。Scikit-Learn建立在Scipy之上芹彬,提供了一套常用的機(jī)器學(xué)習(xí)算法蓄髓,通過(guò)一個(gè)統(tǒng)一的接口來(lái)使用,Scikit-Learn有助于在數(shù)據(jù)集上實(shí)現(xiàn)流行的算法舒帮。
Scikit-Learn還有一些庫(kù)会喝,比如:用于自然語(yǔ)言處理的Nltk、用于網(wǎng)站數(shù)據(jù)抓取的Scrappy玩郊、用于網(wǎng)絡(luò)挖掘的Pattern肢执、用于深度學(xué)習(xí)的Theano等。
7. Scrapy
Scrapy是專門為爬蟲(chóng)而生的工具译红,具有URL讀取预茄、HTML解析、存儲(chǔ)數(shù)據(jù)等功能侦厚,可以使用Twisted異步網(wǎng)絡(luò)庫(kù)來(lái)處理網(wǎng)絡(luò)通訊耻陕,架構(gòu)清晰拙徽,且包含了各種中間件接口,可以靈活的完成各種需求诗宣。
8. Gensim
Gensim是用來(lái)做文本主題模型的庫(kù)膘怕,常用于處理語(yǔ)言方面的任務(wù),支持TF-IDF梧田、LSA淳蔼、LDA和Word2Vec在內(nèi)的多種主題模型算法,支持流式訓(xùn)練裁眯,并提供了諸如相似度計(jì)算鹉梨、信息檢索等一些常用任務(wù)的API接口。
以上是對(duì)Python數(shù)據(jù)分析常用工具的簡(jiǎn)單介紹穿稳,有興趣的可以深入學(xué)習(xí)研究一下相關(guān)使用方法!