99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
2018-10-18 閱讀量: 1299
學(xué)R還是學(xué)Python?

對于想從事數(shù)據(jù)行業(yè)的人和數(shù)據(jù)工作者來說,是學(xué)習(xí)R還是 python,哪個工具更實用一直被大家爭論。Martijn Theuwissen,DataCamp 的教育專家詳細比較了這兩個工具。

  Python 和R是統(tǒng)計學(xué)中兩種最流行的的編程語言,R的功能性主要是統(tǒng)計學(xué)家在開發(fā)時考慮的(R具有強大的可視化功能),而 Python 因為易于理解的語法被大家所接受。

  • 1).運算速度:

??針對于程序速度的比較,有眾多的測試方法和不同的結(jié)果。

??綜合其他各個地方的測試結(jié)果,其實大體說來從基本運算速度來說,Python > R. 但是要注意,這里所說的運算速度是“基本計算”。也就是說不涉及引用特殊package,不用特殊數(shù)據(jù)結(jié)構(gòu)和運算方式(比如R中的矢量化運算)的運算。而這樣的運算比較很大程度上取決于基本程序邏輯的速度,比如for循環(huán)。R在這點的表現(xiàn)是很差的?;旧蠒萷yhon慢 3~10倍。

??但是,如果你愿意多花些心思更好的利用矢量化編程進行計算,那么無論從程序的長度來是速度上,都會使R的表現(xiàn)有顯著性提高。具體的內(nèi)容就不重復(fù)了。總之,在這樣的使用方式下,對大部分運算,R的速度是可以和python接近的,當然,用戶也需要花更多地心思去優(yōu)化程序。

??除此之外,在實際使用的角度來說,數(shù)據(jù)分析在R中大部分時候使用已有的方法,因此可以使用眾多已經(jīng)成型的package。如果你使用的package質(zhì)量很好,通常在大計算量的程序中,作者實際使用的都是更低級更高效的語言(比如C, Fortran)。因此,這些大計算量的步驟實際上是以最高效的方式完成的。如果相應(yīng)的運算在pyhon里面沒有調(diào)用其他低級語言的優(yōu)化,R就可以在這些方面勝過python。我這里說到的是不需要自己編寫的底層語言調(diào)用,在R和python中都可以實現(xiàn)調(diào)用別的語言,但是這需要用戶自己編程,從人工角度來講,專業(yè)性較高,不在討論范圍。

??整體來說,對于對R使用和編程有一定深入理解的人來說,我不認為R做數(shù)據(jù)分析的速度會比python差。但是對于簡單粗暴的編程方式,python的確更勝一籌。

  • 2).全面性:

??從這點來說,我認為Python的確勝過R。無論是對其他語言的調(diào)用,和數(shù)據(jù)源的連接、讀取,對系統(tǒng)的操作,還是正則表達和文字處理,Python都有著明顯優(yōu)勢。畢竟,python本身是作為一門計算機編程語言出現(xiàn)的,而R本身只是源于統(tǒng)計計算。所以從語言的全面性來說,兩者差異顯著。

??綜上所述,本人認為,對于本地文件直接的數(shù)據(jù)分析,大部分時候R是比較Python更好的 (速度相近,但分析更專業(yè))。如果涉及多方資源的協(xié)調(diào)(比如遠程、數(shù)據(jù)庫、系統(tǒng)、網(wǎng)頁),那么最好的方式是將python和R相結(jié)合使用。

??當然,每種語言有自己的學(xué)習(xí)曲線。因此學(xué)習(xí)本身也要多花時間,因此如何選取還要依賴于個人而論。

  • 3).優(yōu)勢對比:
    • 在以下領(lǐng)域中,Python 比R 更有優(yōu)勢:
      ◆ 網(wǎng)絡(luò)爬蟲和數(shù)據(jù)抓?。弘m然R中的rvest已經(jīng)簡化了網(wǎng)頁抓取, Python的beautifulsoup和Scrapy更加成熟,并提供更多的功能。 ◆ 數(shù)據(jù)庫連接:雖然R有大量的用于連接到數(shù)據(jù)庫的選項, Python的sqlachemy只用了一個程序包就提供了所有的數(shù)據(jù)庫連接功能,并可廣泛用于生產(chǎn)環(huán)境。
    • 而在以下領(lǐng)域中,R比Python更有優(yōu)勢:
      ◆ 統(tǒng)計分析選項:盡管Python的SciPy和 Pandas以及 statsmodels的組合提供了很大的一套統(tǒng)計分析工具,而R是專門圍繞著統(tǒng)計分析應(yīng)用等創(chuàng)建的,因此提供了更多的相關(guān)工具。 ◆ 交互式圖像或控制板:bokeh, plotly和intuitics最近都把Python的圖形使用擴展到了Web瀏覽器,但是舉個使用shiny的例子,R中的shiny 控制面板運行速度更快,而且往往需要更少的代碼。

此外,由于數(shù)據(jù)科學(xué)團隊現(xiàn)在擁有一個比較廣泛的技能庫,任何應(yīng)用程序所選擇的編程語言都可能用到以前的知識和經(jīng)驗。對于一些應(yīng)用,特別是原型設(shè)計和開發(fā)應(yīng)用,人們使用他們已知的工具則速度會更快。

    • 純文本 的“Air Gap(網(wǎng)閘)”策略
      指在完全斷開網(wǎng)絡(luò)物理連接的基礎(chǔ)上,實現(xiàn)合法信息的共享。本文中指用純文本文件實現(xiàn)兩種語言間代碼的共享——譯者注。使用純文本作為兩種語言之間的物理隔離,你需要按如下步驟進行。
      1.從命令行中重構(gòu)你的R和Python腳本,并接受命令行參數(shù)。 2.輸出共享數(shù)據(jù)到公共文件格式。 3.在一種語言中執(zhí)行另一種語言,按要求傳遞參數(shù)。
    • 優(yōu)勢:
      ★ 最簡單的方法,通常最快 ★ 可以輕松查看中間輸出結(jié)果 ★ 已有常見文件格式,如: CSV , JSON , YAML的解析器
    • 劣勢:
      ☆ 需要事先商定一個共同的模式或文件格式 ☆ 如果流程變長的話,難以管理中間輸出結(jié)果和路徑 ☆ 如果數(shù)據(jù)量變大,本地磁盤讀寫將成為瓶頸

  • 4).R和Python:數(shù)據(jù)科學(xué)行業(yè)的表現(xiàn):
    如果你看一下最近的民意調(diào)查,在數(shù)據(jù)分析的編程語言方面,R是明顯的贏家。 有越來越多的人從研發(fā)轉(zhuǎn)向Python。此外,有越來越多的公司使用這兩種語言來進行組合。 如果你打算從事數(shù)據(jù)行業(yè),你用好學(xué)會這兩種語言。招聘趨勢顯示這兩個技能的需求日益增加,而工資遠高于平均水平。
0.0000
3
關(guān)注作者
收藏
評論(0)

發(fā)表評論

暫無數(shù)據(jù)
推薦帖子