
盤點丨2018 年熱門 Python 庫丨TOP20
在解決數據科學任務和挑戰方面,Python繼續處于領先地位。去年,我對當時熱門的Python庫進行了總結。今年,我在當中加入新的庫,重新對2018年熱門Python庫進行全面盤點。
其實入選的庫遠不止20個,但由于一些庫針對相同問題是可以相互替代的,因此沒有納入其中。
核心庫和統計
1. NumPy(提交:17911,貢獻者:641)
首先介紹科學應用方面的庫,其中NumPy是不可忽視的選擇。NumPy用于處理大型多維數組和矩陣,并通過大量的高級數學函數和實現方法進行各種操作。
在過去一年里,NumPy進行了大量改進。除了bug修復和兼容性問題之外,還涉及到樣式可能性,即NumPy對象的格式化打印。
2. SciPy(提交:19150,貢獻者:608)
科學計算方面的另一個核心庫是SciPy。SciPy基于NumPy,因此擴展了NumPy的功能。SciPy的主要數據結構是由Numpy實現的多維數組。當中包括許多解決線性代數、概率論、積分等任務的工具。
SciPy的主要改進包括,持續集成到不同操作系統,以及添加的新功能和新方法。此外,還封裝了許多新的BLAS和LAPACK函數。
3. Pandas(提交:17144,貢獻者:1165)
Pandas是一個Python庫,提供高級數據結構和各種分析工具。主要特點是能夠將相當復雜的數據操作轉換為一兩條命令。Pandas包含許多用于分組、過濾和組合數據的內置方法,以及時間序列功能。
Pandas庫已推出多個新版本,其中包括數百個新功能、增強功能、bug修復和API改進。這些改進包括分類和排序數據方面,更適合應用方法的輸出,以及執行自定義操作。
4. StatsModels(提交:10067,貢獻者:153)
Statsmodels是一個Python模塊,用于統計模型估計、執行統計測試等統計數據分析。在它的幫助下,你可以使用機器學習方法進行各種繪圖嘗試。
Statsmodels在不斷改進。今年加入了時間序列方面的改進和新的計數模型,即廣義泊松、零膨脹模型和負二項。還包括新的多變量方法 ——因子分析、多元方差分析和方差分析中的重復測量。
可視化
5. Matplotlib(提交:25747,貢獻者:725)
Matplotlib是用于創建二維圖表和圖形的低級庫。使用Matplotlib,你可以構建直方圖、散點圖、非笛卡爾坐標圖等圖表。此外,許多熱門的繪圖庫都能與Matplotlib結合使用。
Matplotlib在顏色、尺寸、字體、圖例等方面都有一定改進。外觀方面包括坐標軸圖例的自動對齊;色彩方面也做出改進,對色盲更加友好。
6. Seaborn(提交:2044,貢獻者:83)
Seaborn是基于matplotlib庫更高級別的API。它包含更適合處理圖表的默認設置。此外,還包括時間序列等豐富的可視化圖庫。
Seaborn的更新包括bug修復。同時,還包括FacetGrid與PairGrid的兼容性,增強了matplotlib后端交互,并在可視化中添加了參數和選項。
7. Plotly(提交:2906,貢獻者:48)
Plotly能夠讓你輕松構建復雜的圖形。Plotly適用于交互式Web應用程序??梢暬矫姘ǖ雀呔€圖、三元圖和三維圖。
Plotly不斷增加新的圖像和功能,對動畫等方面也提供了支持。
8. Bokeh(提交:16983,貢獻者:294)
Bokeh庫使用JavaScript小部件,在瀏覽器中創建交互式和可縮放的可視化。Bokeh提供了多種圖形集合、樣式,并通過鏈接圖、添加小部件和定義回調等形式增強互動性。
Bokeh在交互式功能的進行了改進,比如旋轉分類標簽、小型縮放工具和自定義工具提示字段的增強。
9. Pydot(提交:169,貢獻者:12)
Pydot用于生成復雜的定向圖和非定向圖。它是用Python編寫的Graphviz接口。使用Pydot能夠顯示圖形結構,這經常用于構建神經網絡和基于決策樹的算法。
10. Scikit-learn(提交:22753,貢獻者:1084)
Scikit-learn是基于NumPy和SciPy的Python模塊,并且是處理數據方面的不錯選擇。Scikit-learn為許多機器學習和數據挖掘任務提供算法,比如聚類、回歸、分類、降維和模型選擇。
Scikit-learn已做出了許多改進。改進包括交叉驗證、使用多個指標,近鄰取樣和邏輯回歸等訓練方法也有小的改進。主要更新還包括完善常用術語和API元素的術語表,這能幫助用戶熟悉Scikit-learn中的術語和規則。
11. XGBoost / LightGBM / CatBoost(提交:3277/1083/1509,貢獻者:280/79/61)
梯度提升(gradient boosting)是最流行的機器學習算法之一,這在決策樹模型中是至關重要的。因此我們需要重視XGBoost、LightGBM和CatBoost。這幾個庫都用相同的方式解決常見問題。這些庫能夠更優化、擴展且快速地實現梯度提升,從而它們在數據科學家和Kaggle競爭中備受追捧,其中許多人在這些算法的幫助下贏得了比賽。
12. Eli5(提交:922,貢獻者:6)
通常機器學習模型預測的結果并不特別清晰,這時就需要用到eli5了。它可以用于可視化和調試機器學習模型,并逐步跟蹤算法運行情況。同時eli5能為scikit-learn,XGBoost,LightGBM,lightning和sklearn-crfsuite庫提供支持。
13. TensorFlow(提交:33339,貢獻者:1469)
TensorFlow是用于深度學習和機器學習的熱門框架,由谷歌大腦開發。TensorFlow能夠用于多個數據集的人工神經網絡。TensorFlow的主要應用包括對象識別、語音識別等等。
新版本中加入了新的功能。最新的改進包括修復安全漏洞,以及改進TensorFlow和GPU集成,比如能在一臺機器上的多個GPU上運行評估器模型。
14. PyTorch(提交:11306,貢獻者:635)
PyTorch是一個大型框架,能通過GPU加速執行tensor計算,創建動態計算圖并自動計算梯度。此外,PyTorch為解決神經網絡相關的應用提供了豐富的API。
PyTorch基于Torch,它是用C語言實現的開源的深度學習庫。Python API于2017年推出,從此之后該框架越來越受歡迎,并吸引了大量數據科學家。
15. Keras(提交:4539,貢獻者:671)
Keras是用于神經網絡的高級庫,可運行與TensorFlow和Theano?,F在由于推出新版本,還可以使用CNTK和MxNet作為后端。它簡化了許多任務,并大大減少了代碼數量。但缺點是不適合處理復雜任務。
Keras在性能、可用性、文檔即API方面都有改進。新功能包括Conv3DTranspose層、新的MobileNet應用等。
分布式深度學習
16. Dist-keras / elephas / spark-deep-learning(提交:1125/170/67,貢獻者:5/13/11)
由于越來越多的用例需要大量的精力和時間,深度學習問題變得更為重要。但是,使用Apache Spark之類的分布式計算系統能夠更容易處理大量數據,這又擴展了深度學習的可能性。
因此dist-keras、elephas、和spark-deep-learning變得更為普及,由于它們有能用于解決相同任務,因此很難從中取舍。這些包能夠讓你在Apache Spark的幫助下,直接通過Keras庫訓練神經網絡。Spark-deep-learning還提供了使用Python神經網絡創建管道的工具。
自然語言處理
17. NLTK(提交:13041,貢獻者:236)
NLTK是一組庫,是進行自然語言處理的平臺。在NLTK的幫助下,你可以通過多種方式處理和分析文本,對其進行標記和提取信息。NLTK還可用于原型設計和構建研究系統。
NLTK的改進包括API和兼容性的小改動,以及CoreNLP的新接口。
18. SpaCy(提交:8623,貢獻者:215)
SpaCy是自然語言處理庫,具有出色的示例、API文檔和演示應用。該庫用Cython編寫,Cython是C語言在Python的擴展。它支持將近30種語言,提供簡單的深度學習集成,并能確保穩定性和高準確性。SpaCy的另一個強大功能是無需將文檔分解,整體處理整個文檔。
19. Gensim(提交:3603,貢獻者:273)
Gensim是Python庫,用于語義分析、主題建模和矢量空間建模,建立在Numpy和Scipy之上。它提供了word2vec等NLP算法實現。盡管gensim擁有自己的models.wrappers.fasttext實現,但fasttext庫也可用于詞語表示的高效學習。
數據抓取
20. Scrapy(提交:6625,貢獻者:281)
Scrapy可用于創建掃描頁面和收集結構化數據。另外,Scrapy還可以從API中提取數據。由于其可擴展性和便攜性,Scrapy非常好用。
今年Scrapy的更新包括代理服務器升級,以及錯誤通知和問題識別系統。這也為使用scrapy解析機械能元數據設置提供了新的方法。
結語
以上就是2018年數據科學方面的Python庫的整理。與去年相比,一些新的庫越來越受歡迎,數據科學方面常用的庫也在不斷改進。
以下的表格顯示了github上各個庫的統計數據。
盡管今年我們擴大了列表,但仍然可能有一些庫沒有包含在內,歡迎留言補充。
數據分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
在本文中,我們將探討 AI 為何能夠加速數據分析、如何在每個步驟中實現數據分析自動化以及使用哪些工具。 數據分析中的AI是什么 ...
2025-05-20當數據遇見人生:我的第一個分析項目 記得三年前接手第一個數據分析項目時,我面對Excel里密密麻麻的銷售數據手足無措。那些跳動 ...
2025-05-20在數字化運營的時代,企業每天都在產生海量數據:用戶點擊行為、商品銷售記錄、廣告投放反饋…… 這些數據就像散落的拼圖,而相 ...
2025-05-19在當今數字化營銷時代,小紅書作為國內領先的社交電商平臺,其銷售數據蘊含著巨大的商業價值。通過對小紅書銷售數據的深入分析, ...
2025-05-16Excel作為最常用的數據分析工具,有沒有什么工具可以幫助我們快速地使用excel表格,只要輕松幾步甚至輸入幾項指令就能搞定呢? ...
2025-05-15數據,如同無形的燃料,驅動著現代社會的運轉。從全球互聯網用戶每天產生的2.5億TB數據,到制造業的傳感器、金融交易 ...
2025-05-15大數據是什么_數據分析師培訓 其實,現在的大數據指的并不僅僅是海量數據,更準確而言是對大數據分析的方法。傳統的數 ...
2025-05-14CDA持證人簡介: 萬木,CDA L1持證人,某電商中廠BI工程師 ,5年數據經驗1年BI內訓師,高級數據分析師,擁有豐富的行業經驗。 ...
2025-05-13CDA持證人簡介: 王明月 ,CDA 數據分析師二級持證人,2年數據產品工作經驗,管理學博士在讀。 學習入口:https://edu.cda.cn/g ...
2025-05-12CDA持證人簡介: 楊貞璽 ,CDA一級持證人,鄭州大學情報學碩士研究生,某上市公司數據分析師。 學習入口:https://edu.cda.cn/g ...
2025-05-09CDA持證人簡介 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度、美團、阿里等 ...
2025-05-07相信很多做數據分析的小伙伴,都接到過一些高階的數據分析需求,實現的過程需要用到一些數據獲取,數據清洗轉換,建模方法等,這 ...
2025-05-06以下的文章內容來源于劉靜老師的專欄,如果您想閱讀專欄《10大業務分析模型突破業務瓶頸》,點擊下方鏈接 https://edu.cda.cn/g ...
2025-04-30CDA持證人簡介: 邱立峰 CDA 數據分析師二級持證人,數字化轉型專家,數據治理專家,高級數據分析師,擁有豐富的行業經驗。 ...
2025-04-29CDA持證人簡介: 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度,美團,阿里等 ...
2025-04-28CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-27數據分析在當今信息時代發揮著重要作用。單因素方差分析(One-Way ANOVA)是一種關鍵的統計方法,用于比較三個或更多獨立樣本組 ...
2025-04-25CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-25在當今數字化時代,數據分析師的重要性與日俱增。但許多人在踏上這條職業道路時,往往充滿疑惑: 如何成為一名數據分析師?成為 ...
2025-04-24以下的文章內容來源于劉靜老師的專欄,如果您想閱讀專欄《劉靜:10大業務分析模型突破業務瓶頸》,點擊下方鏈接 https://edu.cda ...
2025-04-23