15個排名最佳的數據科學Python包

2020-12-22 機器之心Pro

選自The data Incubator機器之心編譯參與:蔣思源、黃小天

Python 語言是數據科學中最常見、最受歡迎的工具之一。近日,Data Incubator 發布了一篇題為《15 個排名最佳的數據科學 Python 包》(Ranked: 15 Python Packages for Data Science)的報告,報告作者對數據科學有價值的 15 個 Python 包進行了一個排名,旨在以一種簡單易懂的列表或排名形式幫助數據科學家排序並分析與其專業相關的大量主題。機器之心對報告全文進行了編譯,下載報告 PDF 請點擊文末「閱讀原文」。

排名

Python 和 R 語言是數據科學中最常見、最受歡迎的工具之一。而且因為 Python 的簡單易用,相對其他語言,我們可以使用更少的代碼就能表達大多數概念。

這也就正是為什麼我們希望通過給出最受歡迎的 Python 包排名而幫助數據科學家入門,或幫助對哪些 Python 包使用廣泛有一個了解。

以下就是 Python 包的排名,該排名基於軟體包在 Github 的活躍度和 Stack Overflow 活躍度,其指標為 PyPI(Python 庫的索引)下載量。

該表單展示了標準分,其中 1 代表高於平均值(均值為 0)一個標準差。例如,numpy 在 Stack Overflow activity 中標準分為 2,其表明高於平均值 2 個標準差,而 TensorFlow 就更接近於均值。

對於這一排位表,研究者專注於使用一些標準進行排序,包括機器學習包的排序列表(exhaust list)和三個客觀指標:總下載量、Github 收藏數和 Stack Overflow 問題數量。

然而,可擴展的機器學習包 TensorFlow(起源於谷歌)比其他庫在 Github 上要活躍地多(基於收藏和分享數)。更通用的機器學習模塊 scikit-learn 在 Github 排名第 2,整體排名第 5。

numpy 和 pandas(高性能數據結構和數據分析包)在 Github 上的得分只在中等,但是在其它兩個類別中得分很高。交互式解釋器 ipython 整體排名第 4,而 jupyter project(非常流行的 Python 代碼展示方式)整體排名第 19(未進入排名)。

所有數據截止到 2017 年 1 月 19 日。

見解

Github 活躍度 vs Stack Overflow 活躍度

與頂級軟體包的 Stack Overflow 問題數量和下載量相比,Github 的活躍度似乎存在反相關性。例如,相比於 TensorFlow 和 scikit-learn、numpy 和 pandas 有很多 Stack Overflow 問題,但是 TensorFlow 和 scikit-learn 在 Github 上具有優勢。由於 numpy 和 pandas 是兩個「實用」包,也許實際上有更多的人在使用它們(並且需要幫助)。

在所有核心庫中,numpy 是最受歡迎的(擊敗了 pandas 和 scipy)。numpy 遙遙領先排名第 1,pandas 第 3,ipython 第 4,scipy(一個用於數學、科學和工程學的開源軟體生態系統)第 9。

在神經網絡中,TensorFlow 的表現要優於 Theano

另外一個深度學習包,Theano,在排名中落後 TensorFlow 很多。精心打造的交互式 TensorFlow Playground 可能是 TensorFlow 領先的原因之一。

matplotlib 是最受歡迎的圖形庫

matplotlib(2D 繪圖庫)預料之中地成為了最受歡迎的圖形包,但是排名之中同樣包括 plotly(可以輕鬆在線發布的交互式、出版級別的圖表)和 bokeh(面向現代網頁瀏覽器的交互式可視化庫)。ggpy(R 的流行的 ggplot2 包的 Python 埠)的整體排名是 18,但是其數據較不可靠,正如下一節所述。

局限

如同任何分析一樣,排名的決定是在分析過程中做出的。所有的原始碼和數據都在我們的 Github 上。

機器學習包的完整列表有若干個來源;由於不可用的下載或者 Github 數據,少量包未參與排名。

它們是:basemap(與 matplotlib 映射)、d3py(像 D3 一樣的繪圖)、jupyter-notebook、mlpy(基於 scipy 和 numpy 的機器學習)、 pylearn2(機器學習,基於 theano)、pytables(大表格)和 shogun(機器學習)。和已排名的包相比,它們在所有方面都低於平均水平。

重要的是,Anaconda 分發捆綁了這些包中的很多,並且這並沒有被考慮。

此外,坦白講,一些存在更長時間的包將有更高的指標,因此會有更高的排名。這不會因為任何方式而調整。

排名數據展示的一些注意事項:

ggplot 的 python 埠最近重命名為 ggpy,我們使用 ggpy 作為所有度量(除了下載量,其使用的為 ggplot)。ipython notebook 現在稱為 jupyter notebook。Stack overflow 自動將 ipython-notebook 更正為 jupyter notebook,所以研究者結合了其他兩個來源的 jupyter notebook 結果。但 jupyter notebook 並沒有下載數,所以其並不會出現在最終的排名中。不過研究者分別對 ipython 和 jupyter 進行了研究。Pattern 包在 Stack Overflow 問題指標上已經有很高的得分,因為「pattern」是一個常見詞。因為這個詞沒有標註數據,所以 Stack Overflow 自動將請求「[pattern]」糾正為一些不相關的詞。Stack Overflow 的 plotly 數據可能會增長,因為其是 R 和 Python 包。

資源

原始碼可在 Data Incubator 的 Github 上獲得:https://github.com/thedataincubator/data-science-blogs/

如果你有意了解更多,可考慮查閱以下資源:

Python 包完整排名: https://github.com/thedataincubator/datascience-blogs/blob/master/output/python-ranks-withna.csvTensorflow Playground:http://playground.tensorflow.org/原排名數據(Raw ranking data): https://github.com/thedataincubator/datascience-blogs/blob/master/output/python-data-wide.csvAnaconda 開放數據科學平臺: https://www.continuum.io/anaconda-overviewPyPI 排名:http://pypi-ranking.info/alltimePyPI 下載統計:https://github.com/jantman/pypidownload-statsGithub 的 Fork of vanity 項目:https://github.com/pavopax/vanity

原文連結:http://blog.thedataincubator.com/2017/04/ranked-15-python-packages-for-data-science/

相關焦點

  • 數據科學的Python軟體包
    您只需命名域,Python就會為您提供最佳的軟體包和庫。數據科學和機器學習是這個時代的兩項苛刻技術,而Python在這兩個領域的表現要好於優。除Python之外,R是數據科學項目中經常使用的另一種程式語言。R更快,並且包含更多的計算和統計庫;但是,在本文中,我們僅介紹了頂級Python數據科學庫,如果您想掌握數據科學,則應該了解這些庫。
  • 數據科學和機器學習的最佳Python庫
    數據科學和機器學習是該時代最需求的技術,這一需求促使每個人都學習不同的庫和軟體包以實現它們。這篇博客文章將重點介紹用於數據科學和機器學習的Python庫。這些是您掌握市場上最被炒作的兩項技能的庫。Python在用於實現機器學習和數據科學的最流行的程式語言中排名第一。讓我們了解為什麼。易於學習: Python使用非常簡單的語法,可用於實現簡單的計算,例如將兩個字符串添加到複雜的過程中,例如構建複雜的ML模型。
  • 乾貨:如何正確地學習數據科學中的 python
    資深數據分析師 Manu Jeevan 認為,這是一個巨大的錯誤,因為數據科學家使用 python 來對數據進行檢索、清洗、可視化和構建模型,而不是開發軟體應用程式。實際上,為了完成這些任務,你必須將大部分時間集中在學習 python 中的模塊和庫上。他認為,學習數據科學的正確姿勢應該如下文,雷鋒網 AI 科技評論編譯整理。
  • 面向數據科學和 AI 的開發庫推薦:Python、R 各 7 個
    、物理學家和計算機工程師,他從 2018 年初開始寫作並發布《數據科學和人工智慧每周文摘:Python & R》系列文章,為數據科學家介紹,能真正幫助他們更好地完成各項任務的最好的開發庫、開源項目、安裝包以及工具。
  • python應用篇-大數據和人工智慧時代下,python牛在哪?
    你要是沒聽說過AI、機器學習、python……這些名詞,過幾年都會覺得自己快要跟不上時代了。那這麼重要的一個領域,我來說下,為什麼如果你想在AI這個行業混,就一定會用到python數據分析,這個有什麼用處。
  • KDnuggets:2018年數據科學和機器學習工具排名 Python排名第一 |...
    近日,著名數據科學網站 KDnuggets 發布了 2018 年數據科學和機器學習工具調查結果。超過 2000 人對自己「過去 12 個月內在項目開發中使用過的數據挖掘/機器學習工具和程式語言」進行了投票。該統計還對過去三年來的排名進行了對比分析。這份投票結果既有預料之內,也有預料之外的部分。
  • 這麼全面的Python數據科學小抄,趕緊收藏吧!
    這麼全面的Python數據科學小抄,趕緊收藏吧! 這幾天意外地在Github上發現一份非常棒的數據科學備忘小抄,作者將python、pandas、matplotlib、sklearn、keras等工具的使用方法、函數都匯總在一張表上,簡潔易懂。
  • 數據科學大Battle,你站Python還是R
    在數據科學工作中,你可能也經常遇到這個選擇困難問題。本文作者Brian Ray基於數十年的Python和R在數據科學領域的使用檢驗,分享了自己的看法,希望能夠幫大家做出更好的選擇。希望這篇文章能幫助那些在數據科學中糾結於選擇Python還是R的小夥伴們。
  • 2017年最流行的15個數據科學Python庫
    選自Medium作者:Igor Bobriakov機器之心編譯參與:朱朝陽、吳攀Python 近幾年在數據科學行業獲得了人們的極大青睞,各種資源也層出不窮。數據科學解決方案公司 ActiveWizards 近日根據他們自己的應用開發經驗,總結了數據科學家和工程師將在 2017 年最常使用的 Python 庫。
  • 用Python構建數據科學Web應用程式
    在本文中,我將向你展示如何使用streamlit python庫快速構建一個簡單的數據驅動web應用程式,只需幾行代碼。作為一名數據科學家或機器學習工程師,能夠部署我們的數據科學項目是很重要的。傳統的使用Django或Flask這樣的框架來部署機器學習模型可能是一項艱巨和/或耗時的任務。
  • 讓所有程式設計師絕不能錯過的59個Python庫總結!
    Python有以下三個特點:易用性和靈活性全行業高接受度:Python無疑是業界最流行的數據科學語言用於數據科學的Python庫的豐富數量優勢本文介紹了python人最常用的59個python庫。一起來看看吧~用於數據收集的Python庫1.
  • Python VS R:誰是數據科學當之無愧的程式語言之王?
    究竟誰才是數據科學最佳程式語言呢?這場神仙打架,誰會是最後的贏家?我們常常通過錯誤的原因選定一門程式語言,我們的選擇受到許多因素的影響。而當前市場充滿了各種數據科學項目,最關鍵的問題不是「哪一門語言最好」而是哪一門語言最適合當前的項目與開發環境。
  • 推薦| 關於Python的20個關鍵詞和45個最佳案例
    根據機器學習所實踐的內容質量和各種人為因素(包括共享量和閱讀量)進行排名。這份表單旨在讓人們生活更便捷,整理了最有用的20個關鍵話題,其中包括經驗豐富的程式設計師分享有關Python的課程。使用Django構建REST API - 測試驅動的方法:第1章15.Flake
  • 數據分析從業者必看,10 個加速 python 數據分析的簡單的小技巧
    ,在數據科學領域同樣如此。數據科學愛好者 Parul Pandey 在近日發表了一篇博文,分享了在數據科學中非常實用的 10 個小技巧。雷鋒網 AI 科技評論將他的文章編譯整理如下。有時候,一點小小的黑客行為可以節省時間,挽救生命。一個小小的快捷方式或附加組件有時會被證明是天賜之物,並且可以真正提高生產力。所以,下面是我最喜歡的一些技巧,我以本文的形式一起使用和編譯它們。
  • 超全Anaconda(Python整合包)導修(圖文詳解)
    針對數據科學,它有超過300個軟體包,因此它迅速攀升為最好的數據平臺之一。本篇導修將會探討如何運用Anaconda幫助Python編程。它能夠用於數據科學,機器學習,深度學習等領域。它能夠讓用戶接觸到超過300個資料庫,因此對於任何程式設計師而言,Anaconda都是數據科學研究的上選。Anaconda能夠幫助簡化軟體包的管理和部署,它還匹配了多種工具,可以使用各種機器學習和人工智慧算法輕鬆地從不同的來源收集數據。
  • 5個超級好用的Python開發工具,小白迅速成長的神技!
    想要學會python,不僅要學習相關的基礎知識和教程,對python各種工具的熟悉使用才能讓你在工作中迅速成長!有很多優秀的開發者前輩,為我們提供了好用的python工具,來幫我們更方便的實現開發想法,下面小U就分享5個好用的python開發工具!
  • java大數據和python大數據的全面對比,哪個更主流?
    java大數據與python大數據說到java編程,java工程師一直都是同行的高薪崗位,而python是從最初的2016人工智慧開始爆發,從而在短短兩年之內能趕超java。隨著python的發展,最大贏家無疑是python。
  • 15種獨一無二的創新數據可視化方式
    本·施耐德曼(Ben Shneiderman)掌握數據可視化技術會打開新世界的大門,帶來更多機會。精心設計的可視化能幫助程式設計師找到原始數據集的核心。 這是成功的數據科學項目和普通的數據科學項目之間的區別。 因此,本文旨在展示數據可視化的強大功能。本文總結了15種驚豔的可視化方式,涵蓋了各種各樣的主題。
  • 用於機器學習和數據科學領域的鮮為人知的Python庫
    它是世界上發展最快的程式語言之一,一次又一次證明了它在開發人員工作角色和跨行業的數據科學職位中的實用性。整個Python及其庫的生態系統使其成為全世界用戶(包括初學者和高級用戶)的合適選擇。其成功和普及的原因之一是其強大的庫生態。
  • 數據科學 | 十大最受歡迎的Python庫
    隨著在人工智慧、機器學習、web開發和桌面應用程式開發等領域的廣泛使用,Python在數據分析市場上佔據了壟斷地位。考慮到Python廣泛的普及和認可,那麼它具有歸因於數據科學的豐富庫也就不足為奇了。科學庫是Python的代名詞! 您只要給它起個名字,就有幾乎所有囊括了所有。考慮到目前的市場趨勢,數據科學是最受歡迎的職業選擇之一。