【知乎用戶的回答(35票)】: Python與R不同,Python是一門多功能的語言。數(shù)據(jù)統(tǒng)計是更多是通過第三方包來實現(xiàn)的。 具體來說,我常用的Python在統(tǒng)計上面的Package有這樣一些 1.Numpy與Scipy。這兩個包是Python之所以能在數(shù)據(jù)分析占有一席之地的重要原因。其中Numpy封裝了基礎的矩陣和向量的操作,而Scipy則在Numpy的基礎上提供了更豐富的功能,比如各種統(tǒng)計常用的分布和算法都能迅速的在Scipy中找到。 2.Matplotlib。這個Package主要是用來提供數(shù)據(jù)可視化的,其功能強大,生成的圖標可以達到印刷品質(zhì),在各種學術(shù)會議里面出鏡率不低。依托于Python,可定制性相對于其他的圖形庫更高。還有一個優(yōu)點是提供互動化的數(shù)據(jù)分析,可以動態(tài)的縮放圖表,用做adhoc analysis非常合適。 3.Scikit Learn。非常好用的Machine Learning庫,適合于用于快速定制原型。封裝幾乎所有的經(jīng)典算法(神經(jīng)網(wǎng)絡可能是唯一的例外,不過這個有Pylearn2來補充),易用性極高。 4.Python標準庫。這里主要是體現(xiàn)了Python處理字符串的優(yōu)勢,由于Python多功能的屬性和對于正則表達式的良好支持,用于處理text是在合適不過的了。 基本上就日常使用就涉及這些。符號運算等等也有Sympy和Theano等強力第三方庫來支持??偨Y(jié),Python在你列舉這些里面是綜合功能最強大的,但是這些功能分散在第三方庫里面,沒有得到有機的整合,相應的學習成本會較高。 【pengwang的回答(23票)】: python與R相比速度要快。python可以直接處理上G的數(shù)據(jù);R不行,R分析數(shù)據(jù)時需要先通過數(shù)據(jù)庫把大數(shù)據(jù)轉(zhuǎn)化為小數(shù)據(jù)(通過groupby)才能交給R做分析,因此R不可能直接分析行為詳單,只能分析統(tǒng)計結(jié)果。Python=R+SQL/Hive R的優(yōu)勢在于有包羅萬象的統(tǒng)計函數(shù)可以調(diào)用,特別是在時間序列分析方面(主要用在金融分析與趨勢預測)無論是經(jīng)典還是前沿的方法都有相應的包直接使用;相比python在這方面貧乏不少。 Python的優(yōu)勢在于其膠水語言的特性,一些底層用C寫的算法封裝在python包里后性能非常高效(Python的數(shù)據(jù)挖掘包Orange canve 中的決策樹分析50萬用戶10秒出結(jié)果,用R幾個小時也出不來,8G內(nèi)存全部占滿)。 總的來說Python是一套比較平衡的語言,各方面都可以,而R是在統(tǒng)計方面比較突出。但是數(shù)據(jù)分析其實不僅僅是統(tǒng)計,前期的數(shù)據(jù)收集,數(shù)據(jù)處理,數(shù)據(jù)抽樣,數(shù)據(jù)聚類,以及比較復雜的數(shù)據(jù)挖掘算法,數(shù)據(jù)建模等等這些任務,只要是100M以上的數(shù)據(jù),R都很難勝任,但是Python卻基本勝任。 補充一下: Python有專門的數(shù)據(jù)分析包Pandas用來完成類似SQL的功能,不過Pandas是會把數(shù)據(jù)都load到內(nèi)存里,如果數(shù)據(jù)太大(2G以上)需要想辦法分chunk分析,或者用pytables/pyh5轉(zhuǎn)換為hdf5格式的文件在硬盤上分析。 另外如果是windows環(huán)境的話,建議用winpython,上面提到的這些包會自帶。當然更豐富的是pythonxy可惜這個只有32位的。 SAS和SPSS是商業(yè)數(shù)據(jù)分析軟件,本屌從來沒用過。 【知乎用戶的回答(2票)】: ![]()
詳情請看url詳情請看url 【陳丹奕的回答(2票)】: 說說我的經(jīng)驗吧,我的工作偏向于數(shù)據(jù)分析建模,所以PYTHON主要用來處理一些數(shù)據(jù),比如做名稱關鍵字的切詞統(tǒng)計。SPSS主要用于對處理好的數(shù)據(jù)作分析,生成報告。 【馬光的回答(3票)】: 首先,我覺得用python來和r比較是蠻合理的,同時作為開源語言,有著強大的類庫和開源文檔支持。而用python來和SASSPSS比,不是很合理,作為主攻“開箱即用”的商業(yè)軟件,UI、適用性等都可能重要,大多用商業(yè)軟件的都是圖方便,比如你要作為ARIMA,用軟件就更方便,用開源語言還得編程。 工作中的適用性就得看工作要求,我一直學校R,統(tǒng)計制圖很強大,直接生成印刷級別的圖像。python的話,只知一二,不敢獻丑。 所以,用開源工具還是用商業(yè)軟件,就得看自己的風格,要便捷還是要全面?! 【欒生的回答(0票)】: 沒有很大的數(shù)據(jù)。目前一般幾十兆是大的,所以R基本夠用。不過邁向基因組選擇育種,數(shù)據(jù)都是上百兆的,不知道R如何?聽說有不少針對大數(shù)據(jù)的R包,不知道效果如何。 |
|