目錄
- 一、導(dǎo)讀
- 二、前戲
- 三、Python標(biāo)準(zhǔn)庫(kù)
- 四、科學(xué)計(jì)算與統(tǒng)計(jì)
- 五、數(shù)據(jù)處理與分析
- 六、可視化
- 七、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)
- 八、自然語(yǔ)言處理
一、導(dǎo)讀
通常,開(kāi)發(fā)大量原始代碼是一個(gè)費(fèi)時(shí)費(fèi)力的工作而且有時(shí)候有很多專(zhuān)業(yè)知識(shí)我們不可能都一 一弄懂,為了避免這種情況,我們會(huì)盡可能多地使用庫(kù)中已有的類(lèi)來(lái)創(chuàng)建對(duì)象,通常僅需要一行代碼。因此,庫(kù)能夠幫助我們使用適量的代碼執(zhí)行重要的任務(wù)。我想這也是為什么python能夠活躍在我們身邊的原因之一吧,歡迎大家點(diǎn)贊收藏,日后學(xué)習(xí)。
二、前戲
剛才忘了說(shuō)了,大家在用python的時(shí)候我還是推薦大家下一個(gè)集成開(kāi)發(fā)環(huán)境Anaconda
這里面能夠更好的管理這些第三方庫(kù)文件,其好處只有你真正用過(guò)才知道老規(guī)矩想用的話自己查, 老師說(shuō)過(guò): “程序員最長(zhǎng)走的兩條路一是自己去百度;二是找別人幫你百度?。?!” 這真的是名言
三、Python標(biāo)準(zhǔn)庫(kù)
有時(shí)候你可能想不到python標(biāo)準(zhǔn)庫(kù)里面有這么多工功能,Python標(biāo)準(zhǔn)庫(kù)提供了豐富的功能,包括文本/二進(jìn)制數(shù)據(jù)處理、數(shù)學(xué)運(yùn)算、函數(shù)式編程、文件/目錄訪問(wèn)、數(shù)據(jù)持久化、數(shù)據(jù)壓縮/歸檔、加密、操作系統(tǒng)服務(wù)、并發(fā)編程、進(jìn)程間通信、網(wǎng)絡(luò)協(xié)議、JSON / XML /其他Internet數(shù)據(jù)格式、多媒體、國(guó)際化、GUI、調(diào)試、分析等。下面列出了一部分Python標(biāo)準(zhǔn)庫(kù)模塊。
- difflib:差異計(jì)算工具
- collections:建立在列表、元組、字典和集合基礎(chǔ)上的加強(qiáng)版數(shù)據(jù)結(jié)構(gòu)。
- csv:處理用逗號(hào)分隔值的文件。
- datetime, time:日期和時(shí)間操作。
- decimal:定點(diǎn)或浮點(diǎn)運(yùn)算,包括貨幣計(jì)算。
- doctest:通過(guò)驗(yàn)證測(cè)試或嵌入在docstring中的預(yù)期結(jié)果進(jìn)行簡(jiǎn)單的單元測(cè)試。
- json:處理用于Web服務(wù)和NoSQL文檔數(shù)據(jù)庫(kù)的JSON(JavaScript Object Notation)數(shù)據(jù)。
- math:常見(jiàn)的數(shù)學(xué)常量和運(yùn)算。
- os:與操作系統(tǒng)進(jìn)行交互。
- queue:一種先進(jìn)先出的數(shù)據(jù)結(jié)構(gòu)。
- random:偽隨機(jī)數(shù)操作。
- re:用于模式匹配的正則表達(dá)式。
- sqlite3:SQLite關(guān)系數(shù)據(jù)庫(kù)訪問(wèn)。
- statistics:數(shù)理統(tǒng)計(jì)函數(shù),如均值、中值、眾數(shù)和方差等。
- sys:—命令行參數(shù)處理,如標(biāo)準(zhǔn)輸入流、輸出流和錯(cuò)誤流。
- timeit:性能分析。
- string:通用字符串操作
- textwrap:文本填充
- unicodedata:Unicode字符數(shù)據(jù)庫(kù)
- stringprep:互聯(lián)網(wǎng)字符串準(zhǔn)備工具
- readline:GNU按行讀取接口
- rlcompleter:GNU按行讀取的實(shí)現(xiàn)函數(shù)
Python擁有一個(gè)龐大且仍在快速增長(zhǎng)的開(kāi)源社區(qū),社區(qū)中的開(kāi)發(fā)者來(lái)自許多不同的領(lǐng)域。該社區(qū)中有大量的開(kāi)源庫(kù)是Python受歡迎的最重要的原因之一。
許多任務(wù)只需要幾行Python代碼就可以完成,這會(huì)令人感到很神奇。下面列出了一些流行的數(shù)據(jù)科學(xué)庫(kù)。
四、科學(xué)計(jì)算與統(tǒng)計(jì)
- NumPy(Numerical Python):Python沒(méi)有內(nèi)置的數(shù)組數(shù)據(jù)結(jié)構(gòu)。它提供的列表類(lèi)型雖然使用起來(lái)更方便,但是處理速度較慢。NumPy提供了高性能的ndarray數(shù)據(jù)結(jié)構(gòu)來(lái)表示列表和矩陣,同時(shí)還提供了處理這些數(shù)據(jù)結(jié)構(gòu)的操作。
- SciPy(Scientific Python):SciPy基于NumPy開(kāi)發(fā),增加了用于科學(xué)處理的程序,例如積分、微分方程、額外的矩陣處理等。scipy.org負(fù)責(zé)管理SciPy和NumPy。
- StatsModels:為統(tǒng)計(jì)模型評(píng)估、統(tǒng)計(jì)測(cè)試和統(tǒng)計(jì)數(shù)據(jù)研究提供支持。
- IPython是Python科學(xué)計(jì)算標(biāo)準(zhǔn)工具集的組成部分,它可以把很多東西聯(lián)系到一起,有點(diǎn)類(lèi)似一個(gè)增強(qiáng)版的Python shell。目的是為了提高編程,測(cè)試和調(diào)試Python代碼的速度,好像很多國(guó)外的大學(xué)教授,還有Google大牛都很喜歡用IPython,確實(shí)很方便。
五、數(shù)據(jù)處理與分析
pandas:一個(gè)非常流行的數(shù)據(jù)處理庫(kù)。pandas充分利用了NumPy的ndarray類(lèi)型,它的兩個(gè)關(guān)鍵數(shù)據(jù)結(jié)構(gòu)是Series(一維)和DataFrame(二維)。
modin[14] pandas加速庫(kù),接口語(yǔ)法與pandas高度一致
dask[15] pandas加速庫(kù),接口語(yǔ)法與pandas高度一致
plydata[16] pandas管道語(yǔ)法庫(kù)
六、可視化
Pyecharts Echarts 是個(gè)由百度開(kāi)源的數(shù)據(jù)可視化,憑借著良好的交互性,精巧的圖表設(shè)計(jì),得到了眾多開(kāi)發(fā)者的認(rèn)可。而 Python 是門(mén)富有表達(dá)力的語(yǔ)言,很適合用于數(shù)據(jù)處理。當(dāng)數(shù)據(jù)分析遇上數(shù)據(jù)可視化時(shí)pyecharts 誕生了
Matplotlib:可高度定制的可視化和繪圖庫(kù)。Matplotlib可以繪制正規(guī)圖、散點(diǎn)圖、柱狀圖、等高線圖、餅圖、矢量場(chǎng)圖、網(wǎng)格圖、極坐標(biāo)圖、3D圖以及添加文字說(shuō)明等。
Seaborn:基于Matplotlib構(gòu)建的更高級(jí)別的可視化庫(kù)。與Matplotlib相比,Seaborn改進(jìn)了外觀,增加了可視化的方法,并且可以使用更少的代碼創(chuàng)建可視化。
七、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)
- scikit-learn:一個(gè)頂級(jí)的機(jī)器學(xué)習(xí)庫(kù)。機(jī)器學(xué)習(xí)是AI的一個(gè)子集,深度學(xué)習(xí)則是機(jī)器學(xué)習(xí)的一個(gè)子集,專(zhuān)注于神經(jīng)網(wǎng)絡(luò)。
- Keras:最易于使用的深度學(xué)習(xí)庫(kù)之一。Keras運(yùn)行在TensorFlow(谷歌)、CNTK(微軟的深度學(xué)習(xí)認(rèn)知工具包)或Theano(蒙特利爾大學(xué))之上。
- TensorFlow:由谷歌開(kāi)發(fā),是使用最廣泛的深度學(xué)習(xí)庫(kù)。TensorFlow與GPU(圖形處理單元)或谷歌的定制TPU(Tensor處理單元)配合使用可以獲得最佳的性能。TensorFlow在人工智能和大數(shù)據(jù)分析中有非常重要的地位,因?yàn)槿斯ぶ悄芎痛髷?shù)據(jù)對(duì)數(shù)據(jù)處理的需求非常巨大。
- OpenAI Gym:用于開(kāi)發(fā)、測(cè)試和比較強(qiáng)化學(xué)習(xí)算法的庫(kù)和開(kāi)發(fā)環(huán)境。
- pytorch Pytorch是torch的python版本,是由Facebook開(kāi)源的神經(jīng)網(wǎng)絡(luò)框架,專(zhuān)門(mén)針對(duì) GPU 加速的深度神經(jīng)網(wǎng)絡(luò)(DNN)編程。Torch 是一個(gè)經(jīng)典的對(duì)多維矩陣數(shù)據(jù)進(jìn)行操作的張量(tensor )庫(kù),在機(jī)器學(xué)習(xí)和其他數(shù)學(xué)密集型應(yīng)用有廣泛應(yīng)用。與Tensorflow的靜態(tài)計(jì)算圖不同,pytorch的計(jì)算圖是動(dòng)態(tài)的,可以根據(jù)計(jì)算需要實(shí)時(shí)改變計(jì)算圖。但由于Torch語(yǔ)言采用 Lua,導(dǎo)致在國(guó)內(nèi)一直很小眾,并逐漸被支持 Python 的 Tensorflow 搶走用戶。作為經(jīng)典機(jī)器學(xué)習(xí)庫(kù) Torch 的端口,PyTorch 為 Python 語(yǔ)言使用者提供了舒適的寫(xiě)代碼選擇。
八、自然語(yǔ)言處理
- NLTK(Natural Language Toolkit):用于完成自然語(yǔ)言處理(NLP)任務(wù)。
- TextBlob:一個(gè)面向?qū)ο蟮腘LP文本處理庫(kù),基于NLTK和模式NLP庫(kù)構(gòu)建,簡(jiǎn)化了許多NLP任務(wù)。
- Gensim:功能與NLTK類(lèi)似。通常用于為文檔合集構(gòu)建索引,然后確定另一個(gè)文檔與索引中每個(gè)文檔的相似程度。
到此這篇關(guān)于Python的這些庫(kù),你知道多少?的文章就介紹到這了,更多相關(guān)Python庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- python 內(nèi)置庫(kù)wsgiref的使用(WSGI基礎(chǔ)入門(mén))
- Python實(shí)現(xiàn)socket庫(kù)網(wǎng)絡(luò)通信套接字
- Python標(biāo)準(zhǔn)庫(kù)之typing的用法(類(lèi)型標(biāo)注)
- Python趣味挑戰(zhàn)之turtle庫(kù)繪畫(huà)飄落的銀杏樹(shù)
- 讓文件路徑提取變得更簡(jiǎn)單的Python Path庫(kù)
- 關(guān)于python3安裝pip及requests庫(kù)的導(dǎo)入問(wèn)題