雲時代,程式語言選 R 還是 Python?

2021-12-09 InfoQ

本文最初發布於 analyticsvidhya.com 網站,經原作者授權由 InfoQ 中文站翻譯並分享。

人類都需要氧氣才能生存。但請想一想,我們有幾個人為了保護這種生命之源而採取措施來守護自然呢?如今,大自然用一種看不見的病毒 Covid-19 讓全世界都意識到了氧氣的重要性,因為這種病毒大幅增加了全球醫療領域對氧氣的需求。因此,保護自然的行為(例如種植樹苗等)是我們的寶貴責任,這不僅是為了社會,也是為了我們自己。

就像拯救生命的氧氣一樣,在技術領域中拯救行業的資產是數據。全球範圍內生成的數據量每天都高速增長。科技行業對從數據中獲取和挖掘有價值的,有助於業務增長的見解表現出了極大的興趣。眾所周知,數據集中的數據量往往很大。因此,我們不可能像以前那麼快地手動處理如此大量的數據,迅速從中獲取有價值的見解。因此,行業專家需要新的技術工具來處理這些數據。在數百種技術工具中,R 和 Python 這兩項技術一直在雲世界中針鋒相對。

在本文中,我們將從數據科學的角度討論這兩種程式語言在處理數據方面的利弊。

總體而言,從初學者到專業級別,Python 和 R 都是數據科學學習者最喜歡的程式語言。兩種程式語言有諸多相似之處,都有著很好的表現。

兩者都是在 1990 年代初期創建的

由於它們是開源程式語言,因此任何人都可以輕鬆免費下載和訪問它們

它們具有大量的庫和專用算法函數,可以處理和解決數據科學和數據分析問題

與 SAS、SPSS、MATLAB 等其他數據分析工具一樣,它們在成本和解決複雜問題方面都不會給用戶施加限制

兩者都提供了對用戶友好的工作體驗,即使非程式設計師也很容易理解和掌握

在處理數據科學、機器學習、深度學習、人工智慧等領域的問題時,兩種工具都時常引入很多新的發明和改進

也就是說,看起來這兩種工具不分伯仲,這就是 R 與 Python 引起爭議的原因所在。我們再來簡單了解一番,更好地理解這一點。

Python 於 1991 年首次發布,最初由 Guido van Rossum 設計。由於它是一種面向對象的程式語言,因此也稱為通用程式語言。它秉承一種強調代碼可讀性和效率的理念。

如果程式設計師和技術領域的人們希望將數學和統計知識很好地應用在數據科學領域,那麼 python 會是他們的最佳合作夥伴。因此,對於大多數數據科學學習者而言,這是最可取和最受歡迎的程式語言選項。

它有很多專用於機器學習和深度學習的庫,這些庫都包含在它的庫包索引 PyPI 中。這些庫的文檔也可以在其官方站點上以 Python 文檔格式獲取。

Ross Ihaka 和 Robert Gentleman 是 R 的最初創建者。R 最初於 1993 年發布,是 S 程式語言的一種實現。這種程式語言設計宗旨是在數據分析、統計方法和可視化領域輸出有效的結果。

對於數據分析技術來說,R 有著非常富饒的生態。與 python 類似,它在 Composite R Archive Network(CRAN)中有大約 13000 個專門用於深度分析的庫包。

它在學者和研究人員中最受歡迎。使用 R 語言中開發的大多數知名項目數都是研究類型的。人們通常使用 R 自己的,稱為 R Studio 的集成開發環境(IDE)中使用 R,以獲得更好的用戶友好體驗。

人們選擇某種程式語言的原因對於 Python 和 R 來說也都是適用的。因此在這兩者之間做出選擇時需要更為謹慎。在 R 和 Python 中挑選適合自己的選項時,請考慮你所在領域的性質和自己偏好的風格。

如果你的工作性質涉及更多的一般用途代碼且研究範圍較小,則應該首選 Python;如果你的工作目的涉及研究和概念過程,則應選擇 R。Python 是適合程式設計師的語言,而 R 是適合學者和研究人員的語言。

一切都取決於你的興趣和背後的熱情。一方面來說,python 代碼易於理解,並且通常能夠執行更多的數據科學任務;另一方面,R 代碼使用基本的學術語言,易於學習,並且是可視化數據分析工具的最佳選項。

具體用哪個取決於用戶的需求。就 python 而言,它是滿足機器學習、深度學習、數據科學和部署需求的最佳工具。它也有用於數學、統計、時間序列等用途的庫,但是在商業分析、經濟指標、研究類需求方面往往表現不佳。它是生產就緒的語言,因為它可以把我們所有的工作流集成為一個單獨的工具。

至於 R,它是滿足統計分析和研究需求的最佳工具,具有更高的準確度。這種程式語言中的大多數軟體包都是由學者和研究人員創建的,這是額外的優勢。因此,它更適合滿足統計學家的需求,而非來自計算機背景的用戶的需求。不過它也擁有用於數據科學和機器學習的一些很出色的庫。毫無疑問,它在探索性數據分析和可視化方面比 python 高出一等。

總體而言,兩種程式語言都有類似的優缺點。綜合看來,在 Python 和 R 之間做出選擇主要基於以下幾點:

你的工作主題是什麼?

你同事的編程知識如何?

你的工期有多長?

最後是你對哪個領域感興趣?

尊敬的讀者,從本文中,我希望你至少應該了解一些如何根據需要在 Python 和 R 之間做出選擇的知識。有關進一步的說明和建議,請在 LinkedIn(https://www.linkedin.com/in/shankar-d-k-03470b1a2)上聯繫我。我請你分享對本文的寶貴意見,這會對我今後的工作有所助益。https://www.analyticsvidhya.com/blog/2021/05/r-or-python-reasons-behind-this-cloud-war/點擊文末【閱讀原文】移步InfoQ官網,內容更多更精彩!

相關焦點

  • Python還是Java?初學編程選哪個?
    今天嘗試回答一下對於想學習編程的學生而言,Python和Java該選哪個?這裡不討論自娛自樂型的編程學習,主要面對的是準備將編程作為工作的人群,所以不單考慮學習難易程度,還要考慮工作前景和機會。先來看下過去5年Python和Java在百度搜尋引擎上的搜索指數趨勢對比可以看到國內近幾年Python的確太火,很多初學者容易有這種疑問:我應該學習Java還是Python?Python是一門優秀的程式語言嗎?
  • 自學程式語言先學Java還是python?記住這5點你就不會迷茫
    學習程式語言,首先要了解程式語言的背景,到底是做什麼的然後進行學習,怎麼去了解程式語言的背景呢,主要是解決怎麼樣的問題,比如Java語言學完了,到底Java能幹等,什麼崗位需要Java編程,你只有這樣去了解它是做什麼的之後,你才知道自己想做Java後端還、大數據還是機器學習。
  • 數據領域最強程式語言Python和R要合作了!
    如果你身處數據分析領域,那麼你一定遇到過或者聽說過這個兩難抉擇——在進行數據分析時,到底使用哪種語言更好,R 還是 Python?「最好的程式語言」之爭曠日持久,數據科學領域也不例外。網上經常出現諸如「我想學習機器學習,我應該用哪個程式語言」或者「我想快速解決問題,我應該用 R 還是 Python」等這類問題。
  • 《Python語言程序設計基礎》:走進編程世界
    (第2版)》作者:嵩天薦星指數:⭐⭐⭐⭐⭐高等教育出版社 2017.02在分享這本書之前,我先來簡單的為你解釋一下python到底是個什麼東西簡單來說,Python就是一門計算機程式語言,對比於其他語言,它的實用性非常強,也非常好上手。
  • R語言和Python語言在數據科學方面的比較:當今進展的總結
    我們欣賞這個視頻的主要原因在於,它展示了迄今為止Python和R語言的主要進步。對於數據科學,這兩種語言都已變得十分合適。有人指出這兩種語言各自的傳統缺陷(例如:用Python進行數據可視化,或者用R進行數據整理),幸而,近年來發行了一些擴展包,比如:用於python的Altair,或是用於R的dplyr,使這些弱點可得到有效緩解。
  • Python程式語言被納入浙江高考,小學生都開始學了
    其中,新初二將新增Python編程課程內容。新高一信息技術程式語言由VB替換為Python,大數據、人工智慧、程序設計與算法按照教材規劃五六年級開始接觸。自新高考實踐以來,選信息與技術的學生很少,提前讓學生接觸有利於學生興趣培養。2、適應大數據時代,讓學生提前有意識。明確未來企業需要什麼樣的人才。
  • 杭州少兒編程培訓機構哪家好?少兒編程Python語言好學嗎
    少兒編程Python語言好學嗎Python語言好學嗎我們都知道,在當下這個大數據時代,要想走在時代的前沿,就必須學習先進有用的知識。現在,人工智慧和數據分析正在蓬勃發展,python是一顆冉冉升起的新星。有人說python可能是所有語言中最適合人類編程的。為什麼?因為python比任何其他語言更高效、更快、更強大!
  • rPython:在R語言中調用python命令
    目錄      rPython簡介      rPython安裝介紹      rPython使用介紹rPython簡介rPython包用於在R語言環境中調用Python命令。通過使用rPython,可以實現將數據傳輸給Python,從Python中獲取數據,也可以調用Python的函數及命令,實現R與python互通。對於R語言來說,Python中存在很多優秀的模塊,而開發者們也想將這些功能在R語言中實現時,則可以利用rpython函數調用python模塊,從而時R語言的到更好的擴展。
  • 北大青鳥建大IT學院:0基礎學程式語言怎麼選?
    但是程式語言這麼多,0基礎學習,哪一種語言最好學?最有前景呢?那麼接下來我們就一起來看看這些語言都有什麼特點,怎樣去選擇合適自己學習的程式語言。我們都知道程式語言有一定的難度,但如果要說哪個語言比較例外,最適合新手學習,難度最低,那麼首先想到要推薦python。python語言雖然相比其他語言是新奇之秀,但是從它火熱的程度可以看出受眾廣泛,主要也是因為它簡單易學上手快,而且功能也比較強大,所以市場寬廣。
  • 2018年學習編程是學習JAVA好還是學習python好?
    2018年世界程式語言熱度排名python首次超出java,很多同學想學習編程,但是選擇哪門語言方面很糾結,過去幾年java一直排名第一,選擇java無話可說,新的熱度是不是會持續下去,Java還那麼吃香嗎?成為選擇的一個就節點。
  • Python語言是什麼?python框架有哪些?Python基礎教程
    ,大型項目的開發,已被逐漸廣泛應用於系統管理任務的處理和Web編程。自2010年以來,編程榜單上超越了C、C#、Java和JavaScript,已成為當下最火的程式語言之一。Google公布的程式語言流行指數中,Python繼續蟬聯全球範圍內最受歡迎的技術語言,隨後是Java和Javascript。學習它有什麼好處?
  • 少兒學python編程:小學幾年級開始學編程?學哪個程式語言合適?
    大家好,歡迎學習python,本文從基礎開始,會連續寫作,喜歡的朋友可以收藏一下,在某一天用到的時候可以回來看一看。思想決定行動。看某一件事情是否需要去做,首先,要從思想上高度重視,並且從內心願意為之付出和努力。今天就來談談為什麼要學習PYthon,建議從幾歲開始學習。
  • 計算機專業應該先學C語言還是Python?
    其實在十多年前國外計算機專業也主要是先學C、C++、Java,大部分計算機科學方面的教材都是圍繞這些語言而編寫的。經典教材是程式語言一個非常重要的風向標。比如數據結構、算法這些本來就不依賴程式語言,不過經典教材採用也仍是這些程式語言,當然它們也用偽代碼。
  • Java、Python、C語言?5大熱門程式語言,我該怎麼選?
    而且,專門有機構為程式語言進行排名,比如下面這個:△2020年1月程式語言排行榜TOP20△對於程式設計師而言,選擇適合自己的程式語言是很重要的,但對於初學者來說,至今還是有一些疑問:「我該學習什麼程序語言呢?」
  • 一篇文章告訴你,該學R還是Python!
    python,哪個工具更實用一直被大家爭論。(註:DataCamp是一個在線互動教育平臺,提供了數據科學和R編程課程。)python和R是統計學中兩種最流行的的程式語言,R的功能性主要是統計學家在開發時考慮的(R具有強大的可視化功能),而Python因為易於理解的語法被大家所接受。在這篇文章中,我們將重點介紹R和Python以及它們在數據科學和統計上地位之間的差異。
  • 一篇文章告訴你,該學R還是Python
    對於想從事數據行業的人和數據工作者來說,是學習R還是python,哪個工具更實用一直被大家爭論。當開始使用R的時候,最好首先安裝RStudio IDE。之後建議你看看下面的流行包:•dplyr, plyr 和 data.table 可以輕鬆操作包•stringr 操作字符串•zoo做定期和不定期的時間序列工作•ggvis, lattice, and ggplot2 進行數據可視化•caret 機器學習Python如何使用?
  • 新手學Python,選擇自學還是報Python培訓機構?
    Python目前已成為人工智慧開發中最常用的程式語言,Python的應用前景大有可為。零基礎學習Python能學會嗎?自學好還是參加Python培訓班好?這個問題不可一概而論,跟想學Python的同學做個分析,看完分析後你就明白該如何選擇了。
  • 程式語言那麼多,為何都建議你學Python
    當然,學習編程不分早晚,26歲以後才開始學習變成的工作者當中,也有36%是現在的高級別的開發人員,他們是編程開發的中堅力量,在編程工作中也佔比較大的比例,而且當前企業聘請的大多數程式設計師也是這些人群。高薪酬以及人工智慧的發展,吸引了越來越多的人加入學習編程的行列,但是,學習哪種語言入門,就難到了很多「小白」。
  • python初學者必看的學習路線 Python是近幾年比較火的程式語言
    Python是近幾年比較火的程式語言之一,因為人工智慧的火爆,讓很多人都想從事python開發。很多零基礎學員在學習python的時候都會走一些彎路,下面小編就為大家分享python學習路線圖,幫助零基礎學員在學習的時候少走彎路。 很多人都在問Python學習步驟應該如何安排?
  • 搞機器學習,Python 和 R 哪個更合適?
    【編者按】如果你正想構建一個機器學習項目,但卻糾結於如何選擇程式語言,這篇文章將是你所需要的。這篇文章不僅幫助你理解Python和R這兩種語言的區別,還有助於你了解各個語言多方面的優勢。那就不再浪費時間了,我們直接進入主題吧!