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等兼搏,以下是千鋒武漢Python培訓(xùn)老師對(duì)該第三方擴(kuò)展庫的簡要介紹: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í)語言編寫(C\C++)的外部庫,也便于外部庫以Numpy數(shù)組形式返回?cái)?shù)據(jù)项玛。
Numpy不提供高級(jí)數(shù)據(jù)分析功能貌笨,但可以更加深刻的理解Numpy數(shù)組和面向數(shù)組的計(jì)算。
3. Matplotlib
Matplotlib是強(qiáng)大的數(shù)據(jù)可視化工具和作圖庫襟沮,是主要用于繪制數(shù)據(jù)圖表的Python庫锥惋,提供了繪制各類可視化圖形的命令字庫、簡單的接口开伏,可以方便用戶輕松掌握?qǐng)D形的格式膀跌,繪制各類可視化圖形。
Matplotlib是Python的一個(gè)可視化模塊固灵,他能方便的只做線條圖捅伤、餅圖、柱狀圖以及其他專業(yè)圖形巫玻。?
使用Matplotlib丛忆,可以定制所做圖表的任一方面祠汇。他支持所有操作系統(tǒng)下不同的GUI后端,并且可以將圖形輸出為常見的矢量圖和圖形測(cè)試熄诡,如PDF SVG JPG PNG BMP GIF.通過數(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ù)測(cè)和模型分析等強(qiáng)大機(jī)器學(xué)習(xí)庫兄墅,其依賴于Numpy、Scipy和Matplotlib等澳叉。
Scikit-Learn是基于Python機(jī)器學(xué)習(xí)的模塊隙咸,基于BSD開源許可證。?
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í)算法,通過一個(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接口凡橱。
以上是對(duì)Python數(shù)據(jù)分析常用工具的簡單介紹,有興趣的可以深入學(xué)習(xí)研究一下相關(guān)使用方法!
學(xué)習(xí)從來不是一個(gè)人的事情亭姥,要有個(gè)相互監(jiān)督的伙伴稼钩,工作需要學(xué)習(xí)python或者有興趣學(xué)習(xí)python的伙伴可以私信回復(fù)小編“學(xué)習(xí)” 獲取資料,一起學(xué)習(xí)
文章來源:腳本之家