Python是數(shù)據(jù)處理常用工具,可以處理數(shù)量級(jí)從幾K至幾T不等的數(shù)據(jù),具有較高的開發(fā)效率和可維護(hù)性,還具有較強(qiáng)的通用性和跨平臺(tái)性。Python可用于數(shù)據(jù)分析,但其單純依賴Python本身自帶的庫進(jìn)行數(shù)據(jù)分析還是具有一定的局限性的,需要安裝第三方擴(kuò)展庫來增強(qiáng)分析和挖掘能力。
Python數(shù)據(jù)分析需要安裝的第三方擴(kuò)展庫有:Numpy、Pandas、SciPy、Matplotlib、Scikit-Learn、Keras、Gensim、Scrapy等。
1.Pandas
Pandas是Python強(qiáng)大、靈活的數(shù)據(jù)分析和探索工具,包含Series、DataFrame等高級(jí)數(shù)據(jù)結(jié)構(gòu)和工具,安裝Pandas可使Python中處理數(shù)據(jù)非??焖俸秃唵?。
Pandas是Python的一個(gè)數(shù)據(jù)分析包,Pandas最初被用作金融數(shù)據(jù)分析工具而開發(fā)出來,因此Pandas為時(shí)間序列分析提供了很好的支持。
Pandas是為了解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的,Pandas納入了大量的庫和一些標(biāo)準(zhǔn)的數(shù)據(jù)模型,提供了高效的操作大型數(shù)據(jù)集所需要的工具。Pandas提供了大量是我們快速便捷的處理數(shù)據(jù)的函數(shù)和方法。Pandas包含了高級(jí)數(shù)據(jù)結(jié)構(gòu),以及讓數(shù)據(jù)分析變得快速、簡單的工具。它建立在Numpy之上,使得Numpy應(yīng)用變得簡單。
帶有坐標(biāo)軸的數(shù)據(jù)結(jié)構(gòu),支持自動(dòng)或明確的數(shù)據(jù)對(duì)齊。這能防止由于數(shù)據(jù)結(jié)構(gòu)沒有對(duì)齊,以及處理不同來源、采用不同索引的數(shù)據(jù)而產(chǎn)生的常見錯(cuò)誤。
使用Pandas更容易處理丟失數(shù)據(jù)。
合并流行數(shù)據(jù)庫(如:基于SQL的數(shù)據(jù)庫)
Pandas是進(jìn)行數(shù)據(jù)清晰/整理的最好工具。
2.Numpy
Python沒有提供數(shù)組功能,Numpy可以提供數(shù)組支持以及相應(yīng)的高效處理函數(shù),是Python數(shù)據(jù)分析的基礎(chǔ),也是SciPy、Pandas等數(shù)據(jù)處理和科學(xué)計(jì)算庫最基本的函數(shù)功能庫,且其數(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í)語言編寫(CC++)的外部庫,也便于外部庫以Numpy數(shù)組形式返回?cái)?shù)據(jù)。
Numpy不提供高級(jí)數(shù)據(jù)分析功能,但可以更加深刻的理解Numpy數(shù)組和面向數(shù)組的計(jì)算。
#一般以np作為numpy的別名
importnumpyasnp
#創(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)
3.Matplotlib
Matplotlib是強(qiáng)大的數(shù)據(jù)可視化工具和作圖庫,是主要用于繪制數(shù)據(jù)圖表的Python庫,提供了繪制各類可視化圖形的命令字庫、簡單的接口,可以方便用戶輕松掌握?qǐng)D形的格式,繪制各類可視化圖形。
Matplotlib是Python的一個(gè)可視化模塊,他能方便的只做線條圖、餅圖、柱狀圖以及其他專業(yè)圖形。
使用Matplotlib,可以定制所做圖表的任一方面。他支持所有操作系統(tǒng)下不同的GUI后端,并且可以將圖形輸出為常見的矢量圖和圖形測試,如PDFSVGJPGPNGBMPGIF.通過數(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)問題域的包的集合,包含的功能有最優(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ù)和記過進(jìn)行可視化,快速理解數(shù)據(jù)。Scikit-Learn提供了機(jī)器學(xué)習(xí)算法的支持,Theano提供了升讀學(xué)習(xí)框架(還可以使用CPU加速)。
5.Keras
Keras是深度學(xué)習(xí)庫,人工神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)模型,基于Theano之上,依賴于Numpy和Scipy,利用它可以搭建普通的神經(jīng)網(wǎng)絡(luò)和各種深度學(xué)習(xí)模型,如語言處理、圖像識(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ù)測和模型分析等強(qiáng)大機(jī)器學(xué)習(xí)庫,其依賴于Numpy、Scipy和Matplotlib等。
Scikit-Learn是基于Python機(jī)器學(xué)習(xí)的模塊,基于BSD開源許可證。
Scikit-Learn的安裝需要NumpyScopyMatplotlib等模塊,Scikit-Learn的主要功能分為六個(gè)部分,分類、回歸、聚類、數(shù)據(jù)降維、模型選擇、數(shù)據(jù)預(yù)處理。
Scikit-Learn自帶一些經(jīng)典的數(shù)據(jù)集,比如用于分類的iris和digits數(shù)據(jù)集,還有用于回歸分析的bostonhouseprices數(shù)據(jù)集。該數(shù)據(jù)集是一種字典結(jié)構(gòu),數(shù)據(jù)存儲(chǔ)在.data成員中,輸出標(biāo)簽存儲(chǔ)在.target成員中。Scikit-Learn建立在Scipy之上,提供了一套常用的機(jī)器學(xué)習(xí)算法,通過一個(gè)統(tǒng)一的接口來使用,Scikit-Learn有助于在數(shù)據(jù)集上實(shí)現(xiàn)流行的算法。
Scikit-Learn還有一些庫,比如:用于自然語言處理的Nltk、用于網(wǎng)站數(shù)據(jù)抓取的Scrappy、用于網(wǎng)絡(luò)挖掘的Pattern、用于深度學(xué)習(xí)的Theano等。
7.Scrapy
Scrapy是專門為爬蟲而生的工具,具有URL讀取、HTML解析、存儲(chǔ)數(shù)據(jù)等功能,可以使用Twisted異步網(wǎng)絡(luò)庫來處理網(wǎng)絡(luò)通訊,架構(gòu)清晰,且包含了各種中間件接口,可以靈活的完成各種需求。
8.Gensim
Gensim是用來做文本主題模型的庫,常用于處理語言方面的任務(wù),支持TF-IDF、LSA、LDA和Word2Vec在內(nèi)的多種主題模型算法,支持流式訓(xùn)練,并提供了諸如相似度計(jì)算、信息檢索等一些常用任務(wù)的API接口。
以上內(nèi)容為大家介紹了python數(shù)據(jù)分析方向的第三方庫是什么,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。http://m.2667701.com/