本文對python中在數(shù)據(jù)分析中需要掌握的庫進(jìn)行了整理淀零,一起來看看吧养泡!
目錄
數(shù)據(jù)獲取
Selenium
Scrapy
Beautiful Soup
數(shù)據(jù)清洗
Spacy
NumPy
Pandas
數(shù)據(jù)可視化
Matplotlib
Pyecharts
數(shù)據(jù)建模
Scikit-learn
PyTorch
TensorFlow
模型檢查
Lime
音頻數(shù)據(jù)處理
Librosa
圖像數(shù)據(jù)處理
OpenCV-Python
Scikit-image
數(shù)據(jù)通信
Pymongo
數(shù)據(jù)分析結(jié)果web部署
Flask
Django
數(shù)據(jù)獲取
Selenium
Selenium是一個(gè)Web測試自動(dòng)化框架,最初是為軟件測試人員創(chuàng)建的龙宏。它提供了Web驅(qū)動(dòng)程序API,供瀏覽器與用戶操作交互并返回響應(yīng)。它運(yùn)行時(shí)會直接實(shí)例化出一個(gè)瀏覽器重斑,完全模擬用戶的操作,比如點(diǎn)擊鏈接肯骇、輸入表單窥浪,點(diǎn)擊按鈕提交等祖很。所以我們使用它可以很方便的來登錄網(wǎng)站和爬取數(shù)據(jù)。
可以使用
brew install selenium
的方式來快速安裝selenium漾脂。
數(shù)據(jù)獲取
Scrapy
Scrapy是Python開發(fā)的一個(gè)快速假颇、高層次的屏幕抓取和web抓取框架,用于抓取web站點(diǎn)并從頁面中提取結(jié)構(gòu)化的數(shù)據(jù)符相。其吸引人的地方在于任何人都可以根據(jù)需求方便的修改拆融。它也提供了多種類型爬蟲的基類,如BaseSpider啊终、sitemap爬蟲等镜豹,最新版本又提供了web2.0爬蟲的支持。我們可以啟用選擇器(例如XPath蓝牲,CSS)從網(wǎng)頁中提取數(shù)據(jù)趟脂。
我們需要先安裝Twisted,因?yàn)橹苯影惭bscrapy的話例衍,安裝會失敗昔期。所以使用
pip install Twisted-18.9.0-cp37-cp37m-win32.whl
來安裝,然后使用pip install scrapy
來安裝scrapy就可以了
數(shù)據(jù)獲取
Beautiful Soup
Beautiful Soup也是一個(gè)從網(wǎng)站爬取數(shù)據(jù)的庫佛玄,他提供一些簡單的硼一、python式的函數(shù)用來處理導(dǎo)航、搜索梦抢、修改分析樹等功能般贼。它是一個(gè)工具箱,通過解析文檔為用戶提供需要抓取的數(shù)據(jù)奥吩,因?yàn)楹唵魏咔圆恍枰嗌俅a就可以寫出一個(gè)完整的應(yīng)用程序。
可以使用
brew install beautifulsoup4
的方式來快速安裝bf4霞赫。
數(shù)據(jù)清洗
Selenium
spacy可以用于進(jìn)行分詞腮介,命名實(shí)體識別,詞性識別等等端衰,最核心的數(shù)據(jù)結(jié)構(gòu)是Doc和Vocab叠洗。Doc對象包含Token的序列和Token的注釋,Vocab對象是spaCy使用的詞匯表旅东,用于存儲語言中共享的數(shù)據(jù)惕味,spaCy通過集中存儲字符串,單詞向量和詞匯屬性等玉锌,避免存儲數(shù)據(jù)的多個(gè)副本名挥。
數(shù)據(jù)清洗
NumPy
NumPy(Numerical Python) 是 Python 語言的一個(gè)擴(kuò)展程序庫,支持大量的維度數(shù)組與矩陣運(yùn)算主守,此外也針對數(shù)組運(yùn)算提供大量的數(shù)學(xué)函數(shù)庫禀倔。對數(shù)組執(zhí)行數(shù)學(xué)運(yùn)算和邏輯運(yùn)算時(shí)榄融,NumPy 是非常有用的。在用 Python 對 n 維數(shù)組和矩陣進(jìn)行運(yùn)算時(shí)救湖,NumPy 提供了大量有用特征愧杯。
數(shù)據(jù)清洗
Pandas
pandas 是基于NumPy 的一種工具,該工具是為了解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的鞋既。Pandas 納入了大量庫和一些標(biāo)準(zhǔn)的數(shù)據(jù)模型力九,提供了高效地操作大型數(shù)據(jù)集所需的工具。pandas提供了大量能使我們快速便捷地處理數(shù)據(jù)的函數(shù)和方法邑闺。你很快就會發(fā)現(xiàn)跌前,它是使Python成為強(qiáng)大而高效的數(shù)據(jù)分析環(huán)境的重要因素之一。
數(shù)據(jù)可視化
Matplotlib
matplotlib是受MATLAB的啟發(fā)構(gòu)建的陡舅。MATLAB是數(shù)據(jù)繪圖領(lǐng)域廣泛使用的語言和工具抵乓。MATLAB語言是面向過程的。利用函數(shù)的調(diào)用靶衍,MATLAB中可以輕松的利用一行命令來繪制灾炭,然后再用一系列的函數(shù)調(diào)整結(jié)果。它有一套完全仿照MATLAB的函數(shù)形式的繪圖接口颅眶,在matplotlib.pyplot模塊中蜈出。這套函數(shù)接口方便MATLAB用戶過度到matplotlib。
數(shù)據(jù)可視化
Pyecharts
Echarts 是一個(gè)由百度開源的數(shù)據(jù)可視化工具涛酗,憑借著良好的交互性铡原,精巧的圖表設(shè)計(jì),得到了眾多開發(fā)者的認(rèn)可煤杀,當(dāng) Python 遇到了 Echarts眷蜈,就變成了 PyEcharts沪哺,目的就是為了與 Python 進(jìn)行對接沈自,方便在 Python 中直接使用數(shù)據(jù)生成圖。
數(shù)據(jù)建模
Scikit-learn
scikit-learn包含眾多頂級機(jī)器學(xué)習(xí)算法辜妓,主要有六大基本功能枯途,分別是分類、回歸籍滴、聚類酪夷、數(shù)據(jù)降維、模型選擇和數(shù)據(jù)預(yù)處理孽惰。scikit-learn擁有非惩砹耄活躍的用戶社區(qū),基本上其所有的功能都有非常詳盡的文檔供用戶查閱勋功√贡ǎ可以研讀scikit-learn的用戶指南及文檔库说,對其算法的使用有更充分的了解。
數(shù)據(jù)建模
Pytorch
PyTorch是美國互聯(lián)網(wǎng)巨頭Facebook在深度學(xué)習(xí)框架Torch的基礎(chǔ)上使用Python重寫的一個(gè)全新的深度學(xué)習(xí)框架片择,它更像NumPy的替代產(chǎn)物潜的,不僅繼承了NumPy的眾多優(yōu)點(diǎn),還支持GPUs計(jì)算字管,在計(jì)算效率上要比NumPy有更明顯的優(yōu)勢啰挪;不僅如此,PyTorch還有許多高級功能嘲叔,比如擁有豐富的API亡呵,可以快速完成深度神經(jīng)網(wǎng)絡(luò)模型的搭建和訓(xùn)練。
數(shù)據(jù)建模
Tensorflow
TensorFlow是一個(gè)采用數(shù)據(jù)流圖(data flow graphs)借跪,用于數(shù)值計(jì)算政己、機(jī)器學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)的開源軟件庫掏愁。節(jié)點(diǎn)(Nodes)在圖中表示數(shù)學(xué)操作歇由,圖中的線(edges)則表示在節(jié)點(diǎn)間相互聯(lián)系的多維數(shù)據(jù)數(shù)組,即張量(tensor)果港。它靈活的架構(gòu)讓你可以在多種平臺上展開計(jì)算沦泌,例如臺式計(jì)算機(jī)中的一個(gè)或多個(gè)CPU(或GPU),服務(wù)器辛掠,移動(dòng)設(shè)備等等谢谦。
模型檢查
Lime
LIME能夠解釋所有我們可以獲得預(yù)測概率的模型(在R中,也就是每一個(gè)與預(yù)測(type=“prob”)一起工作的模型)萝衩。它利用了這樣一個(gè)事實(shí)回挽,即線性模型很容易解釋,因?yàn)樗鼈兓谔卣骱皖悩?biāo)簽之間的線性關(guān)系:將復(fù)模型函數(shù)用局部擬合線性模型逼近原訓(xùn)練集的排列猩谊。
音頻數(shù)據(jù)處理
Librosa
librosa是一個(gè)非常強(qiáng)大的python語音信號處理的第三方庫千劈,用于音頻、音樂分析牌捷、處理和些常見的時(shí)頻處理墙牌、特征提取、繪制聲音圖形等功能應(yīng)有盡有暗甥,功能十分強(qiáng)大喜滨。學(xué)會librosa后再也不用用python去實(shí)現(xiàn)那些復(fù)雜的算法了,只需要一句語句就能輕松實(shí)現(xiàn)撤防。
圖像數(shù)據(jù)處理
OpenCV
OpenCV是計(jì)算機(jī)視覺領(lǐng)域應(yīng)用最廣泛的開源工具包虽风,基于C/C++,支持Linux/Windows/MacOS/Android/iOS,并提供了Python辜膝,Matlab和Java等語言的接口陌凳,因?yàn)槠湄S富的接口,優(yōu)秀的性能和商業(yè)友好的使用許可内舟,不管是學(xué)術(shù)界還是業(yè)界中都非常受歡迎合敦。
可以在 anaconda 中來安裝OpenCV
圖像數(shù)據(jù)處理
Scikit-imag
scikit-image 是一種開源的用于圖像處理的 Python 包。它包括分割验游,幾何變換充岛,色彩操作,分析耕蝉,過濾等算法崔梗。它用作集成到python運(yùn)算環(huán)境結(jié)合一些科學(xué)運(yùn)算庫(Numpy,Scipy)
安裝
sudo apt-get install python-skimage
源碼git clone https://github.com/scikit-image/scikit-image.git
數(shù)據(jù)庫相關(guān)
Pymongo
MongoDB是由C++語言編寫的非關(guān)系型數(shù)據(jù)庫垒在,是一個(gè)基于分布式文件存儲的開源數(shù)據(jù)庫系統(tǒng)蒜魄,其內(nèi)容存儲形式類似JSON對象,它的字段值可以包含其他文檔场躯、數(shù)組及文檔數(shù)組谈为,非常靈活。而要使用python進(jìn)行操作就需要pymongo踢关。
安裝
pip3 install pymongo
連接client = pymongo.MongoClient(host='localhost', port='ip')
數(shù)據(jù)分析結(jié)果可視化部署
Flask
Flask是一個(gè)輕量級的可定制框架伞鲫,使用Python語言編寫,較其他同類型框架更為靈活签舞、輕便秕脓、安全且容易上手。另外儒搭,F(xiàn)lask還有很強(qiáng)的定制性吠架,用戶可以根據(jù)自己的需求來添加相應(yīng)的功能,在保持核心功能簡單的同時(shí)實(shí)現(xiàn)功能的豐富與擴(kuò)展搂鲫,其強(qiáng)大的插件庫可以讓用戶實(shí)現(xiàn)個(gè)性化的網(wǎng)站定制傍药,開發(fā)出功能強(qiáng)大的網(wǎng)站。
數(shù)據(jù)分析結(jié)果可視化部署
Django
Django是高水準(zhǔn)的Python編程語言驅(qū)動(dòng)的一個(gè)開源模型.視圖默穴,控制器風(fēng)格的Web應(yīng)用程序框架怔檩,它起源于開源社區(qū)褪秀。使用這種架構(gòu)蓄诽,程序員可以方便、快捷地創(chuàng)建高品質(zhì)媒吗、易維護(hù)仑氛、數(shù)據(jù)庫驅(qū)動(dòng)的應(yīng)用程序。另外,在Django框架中锯岖,還包含許多功能強(qiáng)大的第三方插件介袜,使得Django具有較強(qiáng)的可擴(kuò)展性。
安裝
pip install Django
文檔https://docs.djangoproject.com/en/3.0/
==============================================================
我的公眾號:早起python