Python正在取代R,成為數據科學界新寵
R:不是真正的語言
人們學習R很困難的一部分原因是,它并不是一種真正的編程語言。John Cook是一位R專家,他曾說:“R是一個做統計的交互環境,不是一種真正的編程語言。把R看做包含有編程語言的交互環境會更有幫助。”
但正如Bob Muenchen強調的,R甚至對于那些精通SAS和SPSS數據統計工具的人來說都是困難的。關于R為分析師降低了復雜性的問題,還有待爭議,雖然R包含宏和矩陣語言,此外,你還需要掌握像SPSS等工具。但是對于那些期待R去實現類似Stata的功能的人,他們注定要失望。
綜合考慮,R的與眾不同使它較難學習。
Python降低數據科學技術壁壘

然而,Python更加平易近人。一方面,各種各樣的開發人員都熟悉Python并在廣泛的應用領域使用它。不像R幾乎只用于數據分析,一個開發人員在第一次編寫他的網站腳本或其他應用程序時,就可以體驗到Python。
隨著企業竭盡所能地使用數據,他們也正在努力尋找合格的數據科學家。然而,正如Gartner的Svetlana Sicular所假設的,在本公司內對員工培訓一些簡單的大數據技術,比培訓新雇傭的數據科學家復雜的商業知識更有效率。
Python”所向披靡“
但是,除了可以利用現成的Python開發者資源,用Python語言做數據科學的最大好處之一是:在不同的應用程序中使用一種編程語言所增加的效率。德克薩斯大學奧斯汀分校研究助理Tal Yarkoni解釋說:“事實證明,使用一種語言來做所有的開發和分析的好處是相當可觀的。一方面,當你可以用同一種語言做所有的事情的時候,你就不必一直提醒自己:Ruby使用blocks而不是comprehensions,在Python中得到數組的大小應當調用len(array),而不是array.length……
另外,你不需要再擔心項目的不同模塊采用不同語言的接口問題。沒有什么比在Python中解析一些文本數據,然后將它轉換成內部使用所需要的格式,最后才發現必須將它以另一種格式寫到磁盤上,以便R或者MATLAB去做分析更煩人的了。只要使用單一的語言,所有這些開銷都將消失。”
我們可以夸贊某個技術完美地解決了一個問題,但往往勝出的技術是解決一系列問題的通用工具。正如AppNexus優化和分析主管David Himrod指出:“AppNexus面臨的最大挑戰之一是如何讓不同的員工使用相同的技術來工作。Python為具有不同背景的員工(尤其是工程師,數學家和分析師)提供了一種常見的、容易理解的語言,可用于公司將新功能進行標準化。”
使用Python的主流數據科學
相比R豐富的數據分析能力,Python尚有很多不足,但是它正在迅速的縮小差距。請記住:Python成功的關鍵并不是它比R或其他分析工具能夠處理更神秘的功能,而在于它的平易近人和通用的性質。數據科學正在走出頭號怪胎的領域,上個月在紐約舉行的O'Reilly's Strata會議這一點尤為明顯:過去的與會者多是學術領域的博士,現在則是關鍵的業務分析師和其他被企業要求去弄清楚大數據業務的人。
相比R,這種新的,早期的“數據科學家”,將更多地使用Python。Python使用起來相對簡單,而且他們可能已經將其用于一個項目中了。至于在其他市場,相比于那些功能強大但復雜的工具,熟悉或者容易學習的工具更容易取勝。