Python在資料分析方面取代R語言和MATLAB會是大勢所趨嗎

時間 2021-05-07 08:01:24

1樓:阿道克

我是R使用者,用了十來年了吧。我覺得R和Python的問題不是誰取代誰,而是兩者何時融合產生新工具,畢竟兩者一直在取長補短相互借鑑。R不是通用程式語言,而是統計程式語言,這是缺點也是優點。

R很難像Python那樣大流行,但是專業性強也不容易被通用工具取代。反而是Python,如果有了更好用的通用語言,會不會被取代呢?

2樓:李東bbsky

關於這個問題,我在2023年3月份做過乙個調查,並寫了一篇文章,從資料分析的角度上,Python確實擠占了R和Matlab不小的空間。

李東bbsky:Python與R、Matlab的對比

對於沉迷於比較的我來說,2023年調查的對比結果可能過於陳舊,於是我又進行了一番調查。

以下是Kaggle (了解資料分析的童鞋,我就不介紹了)2023年年底做的使用者調查,收到了近2萬份的回覆,從事資料分析相關行業的職業主體最多的是資料科學家、學生、軟體開發工程師(程式設計師肯定首選Python)、市場調查、商業分析、產品經理和資料工程師、統計學家等:

而其中MySQL和PostgresSQL是最流行的關係型資料庫,最流行的AI框架PyTorch, Tensorflow, and Keras全部都是基於Python的,Matplotlib和Seaborn是用得最多的資料視覺化包,怎麼又和Python貼合的比較緊密?50%以上的人使用Jupyter notebook,其次是VS Code和R studio(兩個差不多)。

而這2萬人最經常使用的程式語言是Python,其次是SQL,然後是R,從資料上來看使用Python的人是R的3倍,是Matlab的N倍。而只使用Python的人比只使用R的人要高數倍,也就是說會R的童鞋也會去學Python,會Python的未必會去學R。

從以上資料可以看出,經過了幾年的發展(可以了解一下我之前調查的情況),Python的流行度越發的擠占了R和Matlab的空間了,資料顯示這就是趨勢,不以個人的喜好或者理解而改變。

3樓:George Luo

不可能. R語言是專業的統計語言, 非python所能替代. R的tidy系列包是由Rstudio首席科學家哈德利所開發, 其資料整理方面絕對不會輸於python的pandas包, 並且R的ggplot2畫圖包隨便吊打python的matplotlib.

在機器學習上R擁有tidymodels和mlr3整合庫, 氣勢上也不會輸於python的sklearn庫.

4樓:llanglli

Python 佔據更多份額是趨勢,因為 python 提供了更好的機器學習 API,程式語言的特性也更適應生產環境。但 python 並不能完全取代 matlab 和 R,後兩者各有其優勢,尤其是 R,統計相關前沿演算法實現快,且其風格對偏統計的人而言非常友好,尤其是 tidyverse 系列,非 python 可以輕易取代的。

與其糾結 python 是否會取代它們,不如都掌握,根據需要靈活選擇最適合的工具,總體而言,這幾種語言的風格是非常相似的。

5樓:西瓜之心

能否取代自然是看生態,當一門語言的所有庫被另一門語言實現,並且擁有更好的效能,或者同等效能有更強的易用性,那會被自然取代。不過python再強大,仍然有很多R,Matlab的熟練使用者,他們使用熟練語言能夠更方便地開展工作,做乙個switch對他們沒有好處,但有時間成本,所以即使他們變成小眾語言,永遠會有熟練使用者存在。

6樓:Python與資料探勘

關於程式語言之爭,從未停止過。個人感覺資料分析需要的是在有限時間內,用最可行的方式拿到最有用的結果。因此,不應該侷限於任何單一的程式設計方法,而應該是各取所長,根據個人特點,根據問題的形式而靈活選取或者結合。

這三種語言我都使用過,從MATLAB到R語言,從R語言到Python,我將結合自己在資料分析方面的經歷,說一下我的感受吧!

最近幾年,用R, Python的人越來越多,於是出現了眾多關於用哪個做資料分析比較好的爭議。其實爭議最多的也就是其運算速度、全面性、專業性上。

運算速度

從基本運算速度來說,Python > R。但是要注意,這裡所說的運算速度是「基本計算」。也就是說不涉及引用特殊package,不用特殊資料結構和運算方式(比如R中的向量化運算)的運算。

而這樣的運算比較很大程度上取決於基本程式邏輯的速度,比如for迴圈。R在這點的表現是很差的。基本上會比pyhon慢 3~10倍。

但是,如果你願意多花些心思更好的利用向量化程式設計進行計算,那麼無論從程式的長度來是速度上,都會使R的表現有顯著性提高。總之,在這樣的使用方式下,對大部分運算,R的速度是可以和python接近的,當然,使用者也需要花更多地心思去優化程式。

整體來說,對於對R使用和程式設計有一定深入理解的人來說,不認為R做資料分析的速度會比python差。但是對於簡單粗暴的程式設計方式,python的確更勝一籌。

全面性

無論是對其他語言的呼叫,和資料來源的連線、讀取,對系統的操作,還是正則表達和文書處理,Python都有著明顯優勢。畢竟,python本身是作為一門計算機程式語言出現的,而R本身只是源於統計計算。所以從語言的全面性來說,兩者差異顯著。

專業性

R語言的使用人群主要是一些高校、醫藥的統計學家,新出現的理論很快就被社群開發出相應的庫,以供呼叫。不需要太多底層程式設計,解決了許多非IT人需要面對大量程式設計的困擾,所以適合統計學人群。此外R語言是專門為統計和資料分析開發的語言,各種功能和函式琳琅滿目,成熟穩定是其一大優勢,在這方面Python是無法比擬的

Matlab可以說是我除了C語言外的接觸比較早的語言。給我的感覺是比較笨重,乙個matlab安裝包非常大,因為是付費軟體,很多同學都是在網上查詢怎麼使用破解版。

優勢

科學計算方面工具無比完善,所有的的變數都是矩陣物件,採用矩陣運算而不是迴圈,速度快。

最接近通用語言的科學計算語言,寫個爬蟲、gui非常方便。

支援各種語言的擴充套件python、c、cuda等等

語法簡單

並行實現超級容易,parfor和gpuarray真的實現了out of box,而且gpu工具箱是把整個cuda打包了。

本身就是乙個完善的張量運算系統,實現深度學習框架簡單。

容易破解

劣勢

工具箱太多,慣的程式設計水平降低

嚴格的說是乙個軟體,整個安裝要10~20g,執行核心(類似直譯器)也有幾百m,開發出的程式便攜性差。

物件導向是雞肋

迴圈速度慢

作為一名Python愛好者,我會定期分享一些Python學習技巧、趣味Python、資料分析、資料探勘、爬蟲等內容,感性興趣的可以學習一下。

Python分析了5年的滬指資料,這茬韭菜沒那麼容易被割

Python辦公自動化|只需三秒,一鍵生成資料分析報告!

乾貨|手把手教你如何去做乙份商業資料分析報告

Python在資料分析中怎麼用?

Python資料分析 Python日期和時間處理及操作時間序列分類 時間戳 timestamp 特定的時刻 固定週期 period 某月或某年 時間間隔 interval 由起始時間戳和結束時間戳表示datetime,time及calendar模組 datetime 以毫秒形式儲存時間和日期date...

python能做資料分析嗎?

舒拉 結論,可以的,而且是最好用的工具之一。資料分析,這條技術路線,最開始有下面這些,最後面兩個是偏統計和機器學習的模組 一 numpy 二 pandas 三 matplotlib 四 scipy 五 statsmodels 六 scikit learn 波妮說資料分析 可以。py是實現資料分析的工...

Python在資料科學領域能否完全取代R?

llanglli 不會,各有所長,雖然近年 python copy 並進一步強化了 R 的一些長處,例如 ggplot,但除了發揚光大的 pandas,並沒有形成很好的生態,相反,R 在效能瓶頸 視覺化 動態文件等方面一騎絕塵。貼一篇一年多前的舊文,基本論點仍然管用。llanglli 在這個人人擁抱...