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