閱讀828 返回首頁    go Python


R vs.Python,數據分析中誰與爭鋒?

關鍵時刻,第一時間送達!

作者丨Sunil Kappal

譯者丨安翔

R和Python兩者誰更適合數據分析領域?在某些特定情況下誰會更有優勢?還是一個天生在各方麵都比另一個更好?

當我們想要選擇一種編程語言進行數據分析時,相信大多數人都會想到R和Python——但是從這兩個非常強大、靈活的數據分析語言中二選一是非常困難的。

我承認我還沒能從這兩個數據科學家喜愛的語言中選出更好的那一個。因此,為了使事情變得有趣,本文將介紹一些關於這兩種語言的詳細信息,並將決策權留給讀者。值得一提的是,有多種途徑可以了解這兩種語言各自的優缺點。然而在我看來,這兩種語言之間其實有很強的關聯。

Stack Overflow趨勢對比

上圖顯示了自從2008年(Stack Overflow 成立)以來,這兩種語言隨著時間的推移而發生的變化。

R和Python在數據科學領域展開激烈競爭,我們來看看他們各自的平台份額,並將2016與2017年進行比較:

接下來我們將從適用場景、數據處理能力、任務、安裝難度以及開放工具等方麵詳細了解這兩種語言。

適用場景

R適用於數據分析任務需要獨立計算或單個服務器的應用場景。Python作為一種粘合劑語言,在數據分析任務中需要與Web應用程序集成或者當一條統計代碼需要插入到生產數據庫中時,使用Python更好。

任務

在進行探索性統計分析時,R勝出。它非常適合初學者,統計模型僅需幾行代碼即可實現。Python作為一個完整而強大的編程語言,是部署用於生產使用的算法的有力工具。

數據處理能力

有了大量針對專業程序員以及非專業程序員的軟件包和庫的支持,不管是執行統計測試還是創建機器學習模型,R語言都得心應手。

Python最初在數據分析方麵不是特別擅長,但隨著NumPy、Pandas以及其他擴展庫的推出,它已經逐漸在數據分析領域獲得了廣泛的應用。

開發環境

對於R語言,需要使用R Studio。對於Python,有很多Python IDE可供選擇,其中Spyder和IPython Notebook是最受歡迎的。

熱門軟件包和庫

下麵羅列了R和Python推出的針對專業以及非專業程序員的最熱門的軟件包和庫。

R:針對專業程序員的熱門軟件包

用於數據操作的 dplyr、plyr和 data table

用於字符串操作的 stringr

定期和不定期時間序列 zoo

數據可視化工具 ggvis、lattice 和 ggplot2

用於機器學習的 caret

R:針對非專業程序員的熱門軟件包

Rattle

R Commander

Deducer

這些完整的GUI包可以實現強大的數據統計和建模功能。

Python:針對專業程序員的熱門庫

用於數據分析的 pandas

用於科學計算的 SciPy 和 NumPy

用於機器學習的 scikit-learn

圖表庫 matplotlib

statsmodels 用來探索數據,估算統計模型,並執行統計測試和單元測試

Python:針對非專業程序員的熱門庫

Orange Canvas 3.0是遵循GPL協議的開源軟件包。它使用一些常用的Python開源庫進行科學計算,包括numpy、scipy和scikit-learn。

R 和 Python 詳細對比

正如本文開頭提到的,R和Python之間有很強的關聯,並且這兩種語言日益普及。很難說哪一種更好,它們兩者的整合在數據科學界激起了許多積極和協作的波瀾。

總結

事實上,日常用戶和數據科學家可以同時利用這兩者語言,因為R用戶可以在R中通過 rPython包來運行R中的Python代碼,而Python用戶可以通過RPy2庫在Python環境中運行R代碼。

最後更新:2017-10-14 10:36:27

  上一篇:go Python2.7+Selenium3自動化測試pdf版
  下一篇:go Python編寫的開源Struts2全版本漏洞檢測工具