盤點數據科學20個最好的Python庫(附連結)

2021-03-02 數據派THU

本文約3000字,建議閱讀6分鐘。
本文將給大家介紹數據科學領域20個最好的Python庫。

Python 在解決數據科學任務和挑戰方面繼續處於領先地位。去年,我們曾發表一篇博客文章 Top 15 Python Libraries for Data Science in 2017,概述了當時業已證明最有幫助的Python庫。今年,我們擴展了這個清單,增加了新的Python庫,並重新審視了去年已經討論過的 Python 庫,重點關注了這一年來的更新。

我們的選擇實際上包含了 20 多個庫,因為其中一些庫是相互替代的,可以解決相同的問題。因此,我們將它們放在同一個分組。

核心庫和統計數據

1. NumPy (Commits: 17911, Contributors: 641)


官網:http://www.numpy.org/

NumPy 是科學應用程式庫的主要軟體包之一,用於處理大型多維數組和矩陣,它大量的高級數學函數集合和實現方法使得這些對象執行操作成為可能。

2. SciPy (Commits: 19150, Contributors: 608)


官網:https://scipy.org/scipylib/

科學計算的另一個核心庫是 SciPy。它基於 NumPy,其功能也因此得到了擴展。SciPy 主數據結構又是一個多維數組,由 Numpy 實現。這個軟體包包含了幫助解決線性代數、概率論、積分計算和許多其他任務的工具。此外,SciPy 還封裝了許多新的 BLAS 和 LAPACK 函數。

3. Pandas (Commits: 17144, Contributors: 1165)

官網:https://pandas.pydata.org/

Pandas 是一個 Python 庫,提供高級的數據結構和各種各樣的分析工具。這個軟體包的主要特點是能夠將相當複雜的數據操作轉換為一兩個命令。Pandas包含許多用於分組、過濾和組合數據的內置方法,以及時間序列功能。

4. StatsModels (Commits: 10067, Contributors: 153)

官網:http://www.statsmodels.org/devel/

Statsmodels 是一個 Python 模塊,它為統計數據分析提供了許多機會,例如統計模型估計、執行統計測試等。在它的幫助下,你可以實現許多機器學習方法並探索不同的繪圖可能性。

Python 庫不斷發展,不斷豐富新的機遇。因此,今年出現了時間序列的改進和新的計數模型,即 GeneralizedPoisson、零膨脹模型(zero inflated models)和 NegativeBinomialP,以及新的多元方法:因子分析、多元方差分析以及方差分析中的重複測量。

可視化

5. Matplotlib (Commits: 25747, Contributors: 725)

官網:https://matplotlib.org/index.html

Matplotlib 是一個用於創建二維圖和圖形的底層庫。藉由它的幫助,你可以構建各種不同的圖標,從直方圖和散點圖到費笛卡爾坐標圖。此外,有許多流行的繪圖庫被設計為與matplotlib結合使用。

6. Seaborn (Commits: 2044, Contributors: 83)

官網:https://seaborn.pydata.org/

Seaborn 本質上是一個基於 matplotlib 庫的高級 API。它包含更適合處理圖表的默認設置。此外,還有豐富的可視化庫,包括一些複雜類型,如時間序列、聯合分布圖(jointplots)和小提琴圖(violin diagrams)。

7. Plotly (Commits: 2906, Contributors: 48)

官網:https://plot.ly/python/

Plotly 是一個流行的庫,它可以讓你輕鬆構建複雜的圖形。該軟體包適用於交互式 Web 應用程,可實現輪廓圖、三元圖和三維圖等視覺效果。

8. Bokeh (Commits: 16983, Contributors: 294)


官網:https://bokeh.pydata.org/en/latest/

Bokeh 庫使用 JavaScript 小部件在瀏覽器中創建交互式和可縮放的可視化。該庫提供了多種圖表集合,樣式可能性(styling possibilities),連結圖、添加小部件和定義回調等形式的交互能力,以及許多更有用的特性。

9. Pydot (Commits: 169, Contributors: 12)

官網:https://pypi.org/project/pydot/

Pydot 是一個用於生成複雜的定向圖和無向圖的庫。它是用純 Python 編寫的Graphviz 接口。在它的幫助下,可以顯示圖形的結構,這在構建神經網絡和基於決策樹的算法時經常用到。

機器學習

10. Scikit-learn (Commits: 22753, Contributors: 1084)

官網:http://scikit-learn.org/stable/

這個基於 NumPy 和 SciPy 的 Python 模塊是處理數據的最佳庫之一。它為許多標準的機器學習和數據挖掘任務提供算法,如聚類、回歸、分類、降維和模型選擇。

利用 Data Science School 提高你的技能。

Data Science School:http://datascience-school.com/

11. XGBoost / LightGBM / CatBoost (Commits: 3277 / 1083 / 1509, Contributors: 280 / 79 / 61)

官網:

http://xgboost.readthedocs.io/en/latest/http://lightgbm.readthedocs.io/en/latest/Python-Intro.htmlhttps://github.com/catboost/catboost

梯度增強算法是最流行的機器學習算法之一,它是建立一個不斷改進的基本模型,即決策樹。因此,為了快速、方便地實現這個方法而設計了專門庫。就是說,我們認為 XGBoost、LightGBM 和 CatBoost 值得特別關注。它們都是解決常見問題的競爭者,並且使用方式幾乎相同。這些庫提供了高度優化的、可擴展的、快速的梯度增強實現,這使得它們在數據科學家和 Kaggle 競爭對手中非常流行,因為在這些算法的幫助下贏得了許多比賽。

12. Eli5 (Commits: 922, Contributors: 6)

官網:https://eli5.readthedocs.io/en/latest/

通常情況下,機器學習模型預測的結果並不完全清楚,這正是 Eli5 幫助應對的挑戰。它是一個用於可視化和調試機器學習模型並逐步跟蹤算法工作的軟體包,為 scikit-learn、XGBoost、LightGBM、lightning 和 sklearn-crfsuite 庫提供支持,並為每個庫執行不同的任務。

深度學習

13. TensorFlow (Commits: 33339, Contributors: 1469)

官網:https://www.tensorflow.org/

TensorFlow 是一個流行的深度學習和機器學習框架,由 Google Brain 開發。它提供了使用具有多個數據集的人工神經網絡的能力。在最流行的 TensorFlow應用中有目標識別、語音識別等。在常規的 TensorFlow 上也有不同的 leyer-helper,如 tflearn、tf-slim、skflow 等。

14. PyTorch (Commits: 11306, Contributors: 635)

官網:https://pytorch.org/

PyTorch 是一個大型框架,它允許使用 GPU 加速執行張量計算,創建動態計算圖並自動計算梯度。在此之上,PyTorch 為解決與神經網絡相關的應用程式提供了豐富的 API。該庫基於 Torch,是用 C 實現的開源深度學習庫。


15. Keras (Commits: 4539, Contributors: 671)

官網:https://keras.io/

Keras 是一個用於處理神經網絡的高級庫,運行在 TensorFlow、Theano 之上,現在由於新版本的發布,還可以使用 CNTK 和 MxNet 作為後端。它簡化了許多特定的任務,並且大大減少了單調代碼的數量。然而,它可能不適合某些複雜的任務。

分布式深度學習


16. Dist-keras / elephas / spark-deep-learning (Commits: 1125 / 170 / 67, Contributors: 5 / 13 / 11)

官網:

http://joerihermans.com/work/distributed-keras/https://pypi.org/project/elephas/https://databricks.github.io/spark-deep-learning/site/index.html

隨著越來越多的用例需要花費大量的精力和時間,深度學習問題變得越來越重要。然而,使用像 Apache Spark 這樣的分布式計算系統,處理如此多的數據要容易得多,這再次擴展了深入學習的可能性。因此,dist-keras、elephas 和 spark-deep-learning 都在迅速流行和發展,而且很難挑出一個庫,因為它們都是為解決共同的任務而設計的。這些包允許你在 Apache Spark 的幫助下直接訓練基於 Keras 庫的神經網絡。Spark-deep-learning 還提供了使用 Python 神經網絡創建管道的工具。

自然語言處理

17. NLTK (Commits: 13041, Contributors: 236)

官網:https://www.nltk.org/

NLTK 是一組庫,一個用於自然語言處理的完整平臺。在 NLTK 的幫助下,你可以以各種方式處理和分析文本,對文本進行標記和標記,提取信息等。NLTK 也用於原型設計和建立研究系統。

18. SpaCy (Commits: 8623, Contributors: 215)

官網:https://spacy.io/

SpaCy 是一個具有優秀示例、API 文檔和演示應用程式的自然語言處理庫。這個庫是用 Cython 語言編寫的,Cython 是 Python 的 C 擴展。它支持近 30 種語言,提供了簡單的深度學習集成,保證了健壯性和高準確率。SpaCy 的另一個重要特性是專為整個文檔處理設計的體系結構,無須將文檔分解成短語。


19. Gensim (Commits: 3603, Contributors: 273)

官網:https://radimrehurek.com/gensim/

Gensim 是一個用於健壯語義分析、主題建模和向量空間建模的 Python 庫,構建在Numpy和Scipy之上。它提供了流行的NLP算法的實現,如 word2vec。儘管 gensim 有自己的 models.wrappers.fasttext實現,但 fasttext 庫也可以用來高效學習詞語表示。

數據採集

20. Scrapy (Commits: 6625, Contributors: 281)

官網:https://scrapy.org/

Scrapy 是一個用來創建網絡爬蟲,掃描網頁和收集結構化數據的庫。此外,Scrapy 可以從 API 中提取數據。由於該庫的可擴展性和可移植性,使得它用起來非常方便。

結論


本文上述所列就是我們在 2018 年為數據科學領域中豐富的 Python 庫集合。與上一年相比,一些新的現代庫越來越受歡迎,而那些已經成為經典的數據科學任務的庫也在不斷改進。

下表顯示了 GitHub 活動的詳細統計數據:

原文連結:

https://activewizards.com/blog/top-20-python-libraries-for-data-science-in-2018/

版權聲明:本號內容部分來自網際網路,轉載請註明原文連結和作者,如有侵權或出處有誤請和我們聯繫。

相關焦點

  • 2017年數據科學15個最好用的Python庫
    導讀:隨著近幾年Python已成為數據科學行業中大火的程式語言,我們將根據以往的經驗來為大家總結一下數據科學家和工程師幾個最實用的python庫。因為所有的python庫都是開源的,所以我們還列出了每個庫的提交次數、貢獻者人數和其他一些來自Github可以代表Python庫流行度的指標。1. NumPy(Github提交次數:15980,貢獻者人數:522)在用Python處理科學任務時,我們常常需要使用Python的SciPy Stack。
  • 【盤點】深度學習最常用到的20個Python庫
    【導讀】Python在解決數據科學任務和挑戰方面處於領先地位。而一些方便易用的庫則幫助了開發人員高效開發。
  • 最好用的20個python庫,這些你知道嗎?
    來源-網絡大數據  | 整理-數據派THU Python 在解決數據科學任務和挑戰方面繼續處於領先地位。
  • 數據科學中一些不常用但很有用的Python庫
    導讀提到數據科學的python包,大家想到的估計是numpy,pandas,scikit-learn之類的,這裡給大家介紹一些不常用,但是非常有用的python包,就像是痒痒撓,雖然大部分時間用不上,但是真要用起來,還是挺爽的。
  • 值得收藏的45個Python優質資源(附連結)
    本文為大家挑選了適合初學的45個Python的優質項目。熱門資源博客 Mybridge AI 比較了18000個關於Python的項目,並從中精選出45個最具競爭力的項目。我們進行了翻譯,在此一併送上。這份清單中包括了各不相同的20個主題,以及一些資深程式設計師分享使用Python的經驗,值得收藏。
  • 盤點python數據工程師需要掌握的18個庫
    很多同學學習Python的目的都是為了進行數據分析。今天我們就來整理一下Python中在數據分析領域使用最廣泛的一些庫。掌握這些庫,進行數據分析相關任務時就可以隨心所欲了!所以使用 來安裝,然後使用 來安裝scrapy就可以了數據獲取Beautiful SoupBeautiful Soup也是一個從網站爬取數據的庫,他提供一些簡單的、python式的函數用來處理導航、搜索、修改分析樹等功能。它是一個工具箱,通過解析文檔為用戶提供需要抓取的數據,因為簡單,所以不需要多少代碼就可以寫出一個完整的應用程式。
  • 一文總結數據科學家常用的Python庫(下)
    python庫,查看上篇。一文總結數據科學家常用的Python庫(上)用於建模的Python庫我們已經到達了本文最受期待的部分 - 構建模型!這就是我們大多數人首先進入數據科學領域的原因,不是嗎?讓我們通過這三個Python庫探索模型構建。
  • 數據科學|十大最受歡迎的Python庫
    字幕組雙語原文:數據科學 | 十大最受歡迎的Python庫英語原文:Top 10 Data Science Libraries in Python翻譯:雷鋒字幕組(李珺毅、Shangru)今年將大放異彩的數據科學庫。Python被認為是初學者最容易學習的語言。
  • 盤點用於數據科學的三大頂級Python庫(附代碼)
    panda是另一個可以提高您的Python數據科學技能的大型庫。就像NumPy一樣,它屬於SciPy開源軟體家族,並且可以在BSD自由軟體許可下使用。Pandas提供多功能和強大的工具,用於整理數據結構和執行大量數據分析。該庫適用於不完整,非結構化和無序的實際數據,並提供了用於整形,聚合,分析和可視化數據集的工具。
  • 盤點| 2016年年度十大Python庫
    聖誕將至,又到了年終盤點時間,Tryo Labs 和去年一樣又推出了一份 2016 年十大 Python 庫的榜單。對於這份榜單的篩選條件,Tryo Labs 寫道:「我們避開了 Django、Flask 等已經成為今天的標準庫的已經成功的項目。
  • 用Python構建數據科學Web應用程式
    在本文中,我將向你展示如何使用streamlit python庫快速構建一個簡單的數據驅動web應用程式,只需幾行代碼。作為一名數據科學家或機器學習工程師,能夠部署我們的數據科學項目是很重要的。傳統的使用Django或Flask這樣的框架來部署機器學習模型可能是一項艱巨和/或耗時的任務。
  • 數據科學和機器學習的最佳Python庫
    數據科學和機器學習是該時代最需求的技術,這一需求促使每個人都學習不同的庫和軟體包以實現它們。這篇博客文章將重點介紹用於數據科學和機器學習的Python庫。這些是您掌握市場上最被炒作的兩項技能的庫。以下是此博客中將涉及的主題列表:數據科學與機器學習導論為什麼要使用Python進行數據科學和機器學習?
  • 20個超棒的Python 庫集合分享
    為了方便學習,本文列出的20個Python庫將按領域進行分類,有些你可能並不熟悉,但是真的能提高你的模型算法實現效率,多一點嘗試,多一些努力! 核心庫和統計數據 1.Pandas (Commits: 17144, Contributors: 1165) 官網:https://pandas.pydata.org/ Pandas 是一個 Python 庫,提供高級的數據結構和各種各樣的分析工具。這個軟體包的主要特點是能夠將相當複雜的數據操作轉換為一兩個命令。Pandas包含許多用於分組、過濾和組合數據的內置方法,以及時間序列功能。
  • 每個python人都離不開的12個python庫
    如果說python能取得今天的成就,一方面是它簡介的語法,更重要的一方面就是它豐富的第三方庫,可以毫不誇張的說,只要你能想到的任何一個功能模塊,都有對應的python庫,可以說正是因為有了豐富的python庫,python才發展得如此迅速,下面我們來看看python人最常用的20個python
  • 數據科學|使用Python中的dtale庫進行數據探索
    數據分析是任何數據科學項目中最重要的部分。分析數據可為我們提供有關數據的一些重要而優美的見解。Python中有許多庫可以執行分析,例如Pandas,Matplotlib,Seaborn等。最近,開發人員引入了新的「 dtale」庫,以更少的代碼執行分析。
  • 49個Python 學習必備資源,附連結 | 收藏
    本文為不同階段的Python學習者從不同角度量身定製了49個學習資源。
  • 為初學者提供的63個免費的數據科學學習資源
    連結:http://interactivepython.org/runestone/static/thinkcspy/index.htmlPythonChallenge.com(在線難題):有33個級別的有趣的題,你可以用Python編程來解決。
  • 數據科學探索(python 與 R 的比較)
    這一期主要應用python和R 這2種工具對某真實信貸數據進行分析,通過數據的讀取、清洗、探索、模型構建等,比較2種方法在機器學習數據科學上的實現
  • python機器學習:常用庫的介紹及安裝
    1、為了學習方便,建議大家安裝Anaconda(由於平臺不讓給出網站連結,所以具體連結直接百度搜一下就可以得到),為什麼建議使用這個軟體呢,因為安裝了這個軟體後本身就自帶了IPython、Numpy、pandas,scikit-learn等庫,不用你去在一步一步的去安裝其他的庫;並且該軟體兼容性不錯,可以在Mac OS, windows和linux上運行,一勞永逸,非常方便。
  • 2019年必知的10大頂級Python庫 | 網際網路數據資訊網-199IT | 中文...
    它是一個與 NumPy 和 SciPy 相關聯的 python 庫。它被認為是處理複雜數據的最佳庫之一。在這個庫中進行了許多修改。其中一個修改是交叉驗證特性,它提供了使用多個度量的能力。許多訓練方法,如物流回歸和最鄰近算法,都沒有得到什麼改善。