Python or R? Data Scientist的抉擇

陳瀅閔
SparkAmpLab
Published in
3 min readMay 21, 2018

程式語言百百種,每個領域的工程師各有各喜愛/唾棄/得心應手的語言。而PythonR則是割據Data science領域的兩大語言(當然也使用其他語言如 C, Java等的情況,或像這位仁兄用SQL寫類神經網絡)。

根據Kaggle網站(一個串接業界資料與資料科學家的實驗平台,非常推薦的Data science入門網站,之後有機會再介紹)2017年的問卷統計,高達76.3%的應答者使用Python, 而R也有將近60%的使用率(包含兩種語言都使用的狀況)。

from Kaggle The State of ML and Data Science 2017

R

有趣的一點是,在這個調查觀察到,專業的統計學家則有90%以上專情於R。

這其實與R本身的特性相關。R的初始目的是設計給統計、資料分析用的語言,整個語言的UX設計基礎就是以資料分析為導向,配合R studio等GUI及視覺化工具,R對於沒有寫程式經驗而只單純想進行統計分析的人來說是相當友善的入門語言。

我本人就曾經是這位“沒有寫程式經驗而只單純想進行統計分析的人”。身為文組出身的理科碩士生,當初最先接觸的語言就是R。而事實上在我的院生研究生涯,幾乎所有數據相關分析都是使用R完成的。R在數據分析的表現是無庸置疑的強大卻簡單。

Python

相較於R專精於數據分析,Python 則是偏向多目的語言,你可以使用Python寫網站、編輯影片,製作區塊鏈。本身並沒有針對資料分析進行強化,必須下載相關的套件才能使用一些可能R本身就內建的分析工具,在環境建構上較為複雜,尤其對非資訊相關出身的人來說較不友善。

但python強大之處也就在於此。藉由連結各式不同目的套件,Python相較R有更大的彈性和實用性,尤其在處理非傳統量化表格化資料(圖片、文字等)上有更大的優勢,和其他語言串接上也更為容易。也因此在應用上Python更受到實務界的歡迎。

而當初我接觸Python的原因是為了使用QGis,一套用Python寫的地理資訊軟體,而不是作為資料分析工具。而開始工作後則是全職使用Python了。

事實上程式語言(或任何一種語言)是很難有優劣之分的,端看使用者使用的目的和習慣的工具。

兩方都嘗試過的我而言,若要從Python/R擇一,我會比較推薦Python。除了上述的特性之外,如同一般語言,不論本身語法設計優劣,最重要的一點在於是否有人使用。由於Python的泛用性,使用者社群十分的多元而龐大,言語本身與各種套件的開發也相當活躍,未來性相當大。近日也有微軟將在excel支援python的謠言。如果成真,Python的社群可預料將會更龐大。

--

--

陳瀅閔
SparkAmpLab

Accidental data scientist. Interested in NLP, urban planning and GIS.