盘点数据科学最流行的29个Python库
導讀:我們都著眼于如何使用現有的庫來避免重復工作,從而使程序開發工作事半功倍。通常,開發大量原始代碼是一個費時費力的工作,為了避免這種情況,我們會盡可能多地使用庫中已有的類來創建對象,通常僅需要一行代碼。因此,庫能夠幫助我們使用適量的代碼執行重要的任務。
本文介紹數據科學中會經常使用多種Python標準庫、數據科學庫和第三方庫。
作者:保羅·戴特爾(Paul Deitel)、哈維·戴特爾(Harvey Deitel)
來源:大數據DT(ID:hzdashuju)
01 Python標準庫
16 / 29
Python標準庫提供了豐富的功能,包括文本/二進制數據處理、數學運算、函數式編程、文件/目錄訪問、數據持久化、數據壓縮/歸檔、加密、操作系統服務、并發編程、進程間通信、網絡協議、JSON / XML /其他Internet數據格式、多媒體、國際化、GUI、調試、分析等。下面列出了一部分Python標準庫模塊。
collections:建立在列表、元組、字典和集合基礎上的加強版數據結構。
csv:處理用逗號分隔值的文件。
datetime, time:日期和時間操作。
decimal:定點或浮點運算,包括貨幣計算。
doctest:通過驗證測試或嵌入在docstring中的預期結果進行簡單的單元測試。
json:處理用于Web服務和NoSQL文檔數據庫的JSON(JavaScript Object Notation)數據。
math:常見的數學常量和運算。
os:與操作系統進行交互。
queue:一種先進先出的數據結構。
random:偽隨機數操作。
re:用于模式匹配的正則表達式。
sqlite3:SQLite關系數據庫訪問。
statistics:數理統計函數,如均值、中值、眾數和方差等。
string:字符串操作。
sys:—命令行參數處理,如標準輸入流、輸出流和錯誤流。
timeit:性能分析。
Python擁有一個龐大且仍在快速增長的開源社區,社區中的開發者來自許多不同的領域。該社區中有大量的開源庫是Python受歡迎的最重要的原因之一。
許多任務只需要幾行Python代碼就可以完成,這會令人感到很神奇。下面列出了一些流行的數據科學庫。
02 科學計算與統計
3 / 29
NumPy(Numerical Python):Python沒有內置的數組數據結構。它提供的列表類型雖然使用起來更方便,但是處理速度較慢。NumPy提供了高性能的ndarray數據結構來表示列表和矩陣,同時還提供了處理這些數據結構的操作。詳細教程請戳????高能!8段代碼演示Numpy數據運算的神操作
SciPy(Scientific Python):SciPy基于NumPy開發,增加了用于科學處理的程序,例如積分、微分方程、額外的矩陣處理等。scipy.org負責管理SciPy和NumPy。詳細教程請戳????3段極簡代碼帶你入門Python科學計算庫SciPy
StatsModels:為統計模型評估、統計測試和統計數據研究提供支持。
03 數據處理與分析
1 / 29
pandas:一個非常流行的數據處理庫。pandas充分利用了NumPy的ndarray類型,它的兩個關鍵數據結構是Series(一維)和DataFrame(二維)。詳細教程請戳????Pandas最詳細教程來了!
04 可視化
2 / 29
Matplotlib:可高度定制的可視化和繪圖庫。Matplotlib可以繪制正規圖、散點圖、柱狀圖、等高線圖、餅圖、矢量場圖、網格圖、極坐標圖、3D圖以及添加文字說明等。詳細教程請戳????Python實操:手把手教你用Matplotlib把數據畫出來
Seaborn:基于Matplotlib構建的更高級別的可視化庫。與Matplotlib相比,Seaborn改進了外觀,增加了可視化的方法,并且可以使用更少的代碼創建可視化。詳細教程請戳????數據可視化干貨:使用pandas和seaborn制作炫酷圖表(附代碼)
05 機器學習、深度學習和強化學習
4 / 29
scikit-learn:一個頂級的機器學習庫。機器學習是AI的一個子集,深度學習則是機器學習的一個子集,專注于神經網絡。
Keras:最易于使用的深度學習庫之一。Keras運行在TensorFlow(谷歌)、CNTK(微軟的深度學習認知工具包)或Theano(蒙特利爾大學)之上。
TensorFlow:由谷歌開發,是使用最廣泛的深度學習庫。TensorFlow與GPU(圖形處理單元)或谷歌的定制TPU(Tensor處理單元)配合使用可以獲得最佳的性能。TensorFlow在人工智能和大數據分析中有非常重要的地位,因為人工智能和大數據對數據處理的需求非常巨大。本書使用TensorFlow內置的Keras版本。詳細教程請戳????TensorFlow是什么?怎么用?終于有人講明白了
OpenAI Gym:用于開發、測試和比較強化學習算法的庫和開發環境。
06 自然語言處理
3 / 29
NLTK(Natural Language Toolkit):用于完成自然語言處理(NLP)任務。
TextBlob:一個面向對象的NLP文本處理庫,基于NLTK和模式NLP庫構建,簡化了許多NLP任務。
Gensim:功能與NLTK類似。通常用于為文檔合集構建索引,然后確定另一個文檔與索引中每個文檔的相似程度。
關于作者:保羅·戴特爾,Deitel&Associates公司首席執行官兼首席技術官,畢業于麻省理工學院,擁有38年的計算經驗。保羅是世界上最有經驗的編程語言培訓師之一,自1992年以來一直針對軟件開發人員教授專業課程。他服務過的國際客戶包括思科、IBM、西門子、Oracle、戴爾、富達、美國國家航空航天局肯尼迪航天中心等。
本文摘編自《Python程序設計:人工智能案例實踐》,經出版方授權發布。
延伸閱讀《Python程序設計:人工智能案例實踐》
點擊上圖了解及購買
轉載請聯系微信:DoctorData
推薦語:極簡入門Python和AI,讀這一本就夠了!538個實例幫你掌握交互式IPython解釋器和JupyterNotebook并應用Python實踐人工智能項目。
劃重點????
干貨直達????
硅谷企業的大數據平臺架構什么樣?看看Twitter、Airbnb、Uber的實踐
終于有人把p值講明白了
超詳細!17 步全解四象限導圖的使用方法
終于有人把大數據架構講明白了
更多精彩????
在公眾號對話框輸入以下關鍵詞
查看更多優質內容!
PPT?|?讀書?|?書單?|?硬核?|?干貨?|?講明白?|?神操作
大數據?|?云計算?|?數據庫?|?Python?|?爬蟲?|?可視化
AI?|?人工智能?|?機器學習?|?深度學習?|?NLP
5G?|?中臺?|?用戶畫像?|?1024?|?數學?|?算法?|?數字孿生
據統計,99%的大咖都關注了這個公眾號
????
總結
以上是生活随笔為你收集整理的盘点数据科学最流行的29个Python库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解读边缘计算在7大领域的研究趋势和最新进
- 下一篇: 父亲节,来认识一下这几位“爸爸”