[原]深刻對比數據科學工具箱:Python3 和 R 之爭[2020版]

python  R - Explore - Google Trends.png

概述

R 和 Python2/Python3 在過去十年(Pandas問世後)的數據科學領域持續着激烈的競爭,隨着時間的推移競爭格局也從混沌走向清晰。html

R 從誕生開始就繼承了 S 語言的統計特性,經歷了野蠻生長,2009 年 ggplot2 和 data.table 的橫空出世大幅提高數據可視分析的效率,極大衝擊了數據科學早期市場,要知道當時數據科學還主要被商業軟件 Excel、SAS 和 Matlab 所壟斷。R語言做爲數據科學開源軟件的先驅,多個商業應用領域不斷進化,貝葉斯、空間分析、網絡分析、時序分析、生存分析等在代碼庫 CRAN 和 GitHub 上開始快速增加,直到 2015年 Revolution R 被 Microsoft 公司收購達到頂峯。python

Python 本來是一種膠水語言,在Web開發、嵌入式開發、運維測試等領域使用較爲普遍,在數據科學領域運用並不普遍。然而,自 2015年大數據和深度學習的人工智能革命起,Python 中的兩大開源框架 PySpark 和 Tensorflow 開始大放異彩,全民學習 Python 的熱情也隨水漲船高,Python 成功實現了數據科學領域的逆襲。git

隨着2020年起,Python2 的正式中止維護,Python。github

Python Version編程

生態對比

Domain Python3 R
基礎數據處理 Pandas/Dplython Tidyverse/Dplyr
並行計算(數據密集) Koalas/PySpark Sparklyr/SparkR
並行計算(計算密集) Dask/Modin Disk.frame
網絡挖掘 Networkx/Graph-tool Tidygraph
地理挖掘 Geopandas/Rasterio Sf/Raster
時序挖掘 Prophet/Backtrader Fable/Quantstrat
圖像處理 OpenCV magick
文本處理 Gensim/NLTK tidytext
基礎統計工具 Statsmodels tidymodel
貝葉斯統計 PyMC3/PyStan Brms/Rstanarm
機器學習 Sklearn Mlr
深度學習 Tensorflow/Mxnet Tensorflow/Mxnet
強化學習 RLlib/Gym ReinforcementLearning
仿真建模 Simpy Simmer
優化建模 Cvxplayers/Ortools/Scipy CVXR/ompr
原型開發 Dash Shiny
數據探索 Plotly/Matplotlib/Plotnine Plotly/Ggplot2/Esquisse

1. 數據流操做對比

image.png

基礎數據處理:Pandas/Dplython vs Tidyverse/Dplyr

分佈式數據處理:Koalas/PySpark vs Sparklyr/SparkR

分佈式數據處理:Dask/Modin vs Disk.frame

2. 領域建模

網絡挖掘: NetworkX/Graph-tool vs Tidygraph

地理挖掘:Geopandas vs Sf

3. 統計建模

基礎統計工具 Statsmodels vs tidymodel

貝葉斯統計 PyMC3/PyStan vs RStan

機器學習 Sklearn vs Mlr

4. 可視化

總結

  • R 社區活躍度有所降低
  • Python2 逐漸放棄維護
  • Python3 取代 Python2 和 R 成爲新一代人工智能主流編程語言。

參考資料

相關文章
相關標籤/搜索