作者keepingJBJ (keep)
看板Python
標題[問題]在資料處理與統計分析python or R?
時間Mon Jun 20 03:47:31 2016
各位前輩大家好
小弟本身是在做資料分析的工作
平常工作上使用的主要是SQL跟SAS
自己想學其他的 open source code 加強能力
不知道各位前輩對於做ETL or Data mining
比較推薦python還是R呢
小弟第一次發言
請大家提供小弟建議
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.14.97.42
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1466365654.A.723.html
1F:→ bibo9901: Python已經夠慢了, R更是慢到無以復加... 06/20 11:08
2F:→ shadowjohn: 資料得處理再處理再處理再處理再去餵工具XD 06/20 13:07
3F:→ Neisseria: 先評估函式庫/套件有沒有符合需求再來選語言 06/20 13:22
4F:→ Neisseria: 語法上是 Python 比 R 簡單,但這往往不是最重要的點 06/20 13:23
5F:推 JackBaska: 單資料整理 R 贏 Python , 如果你的資料是型態很雜且 06/20 17:00
6F:→ JackBaska: 需要很前處理的話,我是推薦 R 06/20 17:01
7F:→ JackBaska: 如果你的資料是大量數值,或是結構性還有coding狀況算好 06/20 17:01
8F:→ JackBaska: 的資料,Python在校能上可以讓你做很多分析,而且速度非 06/20 17:02
9F:→ JackBaska: 常快,像是我之前要在R上面生出一億個元素的亂數矩陣 06/20 17:03
10F:→ JackBaska: 等超久,Python只要幾秒,看需求為主 06/20 17:03
11F:→ Wush978: R 的亂數產生器比較嚴謹。很多R 開發者的取捨,效能並不 06/20 17:19
12F:→ Wush978: 是最重要的。因為要說效能,python/R都呵呵 06/20 17:19
13F:推 JackBaska: 是阿...可惜....全用Cpp爆開開發速度會崩潰 06/20 17:34
14F:→ JackBaska: 我比較傾向先確定想法算法可以work,再考慮要不要刻 06/20 17:34
15F:→ keepingJBJ: 謝謝前輩們提供的建議,小弟就先從R開始學習,資料 06/20 17:59
16F:→ keepingJBJ: 整理的效能對統計分析真的很重要 06/20 18:00
17F:→ bibo9901: 用R就注定你的data大學永遠只能是玩具等級 06/20 18:02
18F:→ bibo9901: 小 06/20 18:02
19F:→ bibo9901: 另外可以給個"R的亂數產生器比較嚴謹"的 reference 嗎? 06/20 18:09
20F:→ Wush978: 我用R在企業中處理一天破億筆的資料,並且架設推薦引擎 06/20 18:48
21F:→ Wush978: R的dplyr後面接一層就可以直接串sparkSQL 06/20 18:49
23F:→ Wush978: 不過說回來,處理大數據,和用R,用python比較沒關係 06/20 18:51
24F:→ Wush978: 了解資料結構,演算法,作業系統等知識後,用什麼都一樣 06/20 18:52
25F:→ Wush978: 恩... 應該說,語言還是有差,但是不會是在R vs Python這 06/20 18:52
26F:→ Wush978: 種問題,而是java hadoop-like 等工具集合 v.s. 其他等這 06/20 18:53
27F:→ Wush978: 種層面上 06/20 18:53
28F:推 gozule: 選python,需要速度就用cython加速 06/20 22:57
29F:推 gozule: 我用cython+numpy寫算法,效能和純c的程式效能差異可以壓 06/20 23:01
30F:→ gozule: 在10%以內 06/20 23:01
31F:推 gogogogo3333: 請問樓上大大,cpython 該如何入門呢?有推薦的ide 06/21 07:05
32F:→ gogogogo3333: 嗎? 小弟目前是使用anaconda 下的spider ide 06/21 07:05
33F:推 JackBaska: go大。原po主需求是資料前處理還有ㄧ般統計分析,還有 06/21 09:06
34F:→ JackBaska: 對非cs背景的親合度,整體來說R應該更適合,對非相關 06/21 09:06
35F:→ JackBaska: 領域來說dplyr比pandas還有re親民許多 06/21 09:06
36F:→ JackBaska: 不過我也想問cython入門 06/21 09:06
37F:推 gozule: cython只是把python加上type後編譯而已,重點是編譯後可以 06/21 10:49
39F:→ gozule: 還有cython不是CPython,這是兩種不同的東西 06/21 10:50
40F:→ gozule: cython的寫法也很簡單,先把python程式寫好確定正確性後, 06/21 10:51
41F:→ gozule: 就可以開始替變數加type,加好後編譯即可直接執行 06/21 10:51
42F:→ gozule: cython的IDE目前我只知pycharm pro有支援,學術用免費 06/21 10:52
45F:→ gozule: 如果R能夠用llvm編譯執行也能很快,只是相關套件不成熟 06/21 11:00
46F:→ Neisseria: 看了一下 g 大提供的 benchmark,覺得 Cython 蠻厲害的 06/21 11:07
47F:→ Neisseria: 可以接近 C 和 Julia,但是相對好寫很多 06/21 11:08
48F:→ Wush978: (偏了) 要效能的話,試試看pypy吧,可能比cython更快 06/21 20:02
49F:→ Wush978: 而且不用改code,只是換interpreter 06/21 20:02
50F:推 os653: PyPy 是比 Python 快不少啦,但是跟 C 比... 06/21 20:54
51F:→ uranusjr: PyPy 一般被認為在可以和 C 在同一個數量級喔, 完全可比 06/21 21:10
52F:推 gozule: pypy也是一個選項,只是對於numpy為主的套件似乎支援不完 06/22 01:03
53F:→ gozule: pypy官網一直都有在募集資金做numpy for pypy的porting 06/22 01:06
55F:→ gozule: 主,建議用cython, 如是純python的話,可以用pypy更省事。 06/22 01:06
57F:推 svin: 新手想請教gozule大, 請問cython code裡可以使用python的其 06/22 01:15
58F:→ svin: 他package嗎? 06/22 01:15
59F:推 CaptainH: pypy不能用scipy等package 太傷了 06/22 02:12
60F:推 CaptainH: 而且個人經驗是:pypy 和 C/C++ 速度同個數量級的程式碼 06/22 02:18
61F:→ CaptainH: ,此時Cpython也不會慢到哪去 06/22 02:18
62F:推 JackBaska: os大大 C很快但開發時間跟不上老闆的心啊 06/22 07:58
63F:→ gozule: cython裡面可以使用cpython的全部套件,也可以用c/c++開發 06/22 13:49
65F:→ gozule: 簡單的說,只要cpython能夠import的套件,cython通通能用 06/22 13:51