强伦轩人妻一区二区三区四区,www久久久久久久久久久久久久久久久,《诱人的奶头》电影,日本色妇色视频

分享到:

利用Python進(jìn)行數(shù)據(jù)分析

日期:2016-11-08 21:17:00     閱讀:441     文章來源:源美網(wǎng)絡(luò)     標(biāo)簽:深圳網(wǎng)站建設(shè),深圳網(wǎng)頁設(shè)計(jì),深圳網(wǎng)站制作

許許多多的人(包括我自己)都很容易愛上Python這門語言。自從1991年誕生以來,Python現(xiàn)在已經(jīng)成為最受歡迎的動(dòng)態(tài)編程語言之一,其他還有Perl、Ruby等。由于擁有大量的Web框架(比如Rails(Ruby)和Django(Python)),最近幾年非常流行使用Python和Ruby進(jìn)行網(wǎng)站建設(shè)工作。這些語言常被稱作腳本(scripting)語言,因?yàn)樗鼈兛梢杂糜诰帉懞?jiǎn)短而粗糙的小程序(也就是腳本)。我個(gè)人并不喜歡“腳本語言”這個(gè)術(shù)語,因?yàn)樗孟裨谡f這些語言無法用于構(gòu)建嚴(yán)謹(jǐn)?shù)能浖?。在眾多解釋型語言中,Python最大的特點(diǎn)是擁有一個(gè)巨大而活躍的科學(xué)計(jì)算(scientific comp...

在數(shù)據(jù)分析和交互、探索性計(jì)算以及數(shù)據(jù)可視化等方面,Python將不可避免地接近于其他開源和商業(yè)的領(lǐng)域特定編程語言/工具,如R、MATLAB、SAS、StataR、MATLAB、SAS、Stata等。近年來,由于Python有不斷改良的庫(主要是pandas),使其成為數(shù)據(jù)處理任務(wù)的一大替代方案。結(jié)合其在通用編程方面的強(qiáng)大實(shí)力,我們完全可以只使用Python這一種語言去構(gòu)建以數(shù)據(jù)為中心的應(yīng)用程序。


把Python當(dāng)做粘合劑

作為一個(gè)科學(xué)計(jì)算平臺(tái),Python的成功部分源于其能夠輕松地集成C、C++以及Fortran代碼。大部分現(xiàn)代計(jì)算環(huán)境都利用了一些Fortran和C庫來實(shí)現(xiàn)線性代數(shù)、優(yōu)選、積分、快速傅里葉變換以及其他諸如此類的算法。許多企業(yè)和國(guó)家實(shí)驗(yàn)室也利用Python來“粘合”那些已經(jīng)用了30多年的遺留軟件系統(tǒng)。

大多數(shù)軟件都是由兩部分代碼組成的:少量需要占用大部分執(zhí)行時(shí)間的代碼,以及大量不經(jīng)常執(zhí)行的“粘合劑代碼”。粘合劑代碼的執(zhí)行時(shí)間通常是微不足道的。開發(fā)人員的精力幾乎都是花在優(yōu)化計(jì)算瓶頸上面的,有時(shí)更是直接轉(zhuǎn)用更低級(jí)的語言(比如C)。

最近這幾年,Cython項(xiàng)目(http://cython.org)已經(jīng)成為Python領(lǐng)域中創(chuàng)建編譯型擴(kuò)展以及對(duì)接C/C++代碼的一大途徑。


解決“兩種語言”問題

很多組織通常都會(huì)用一種類似于領(lǐng)域特定的計(jì)算語言(如MATLAB和R)對(duì)新的想法進(jìn)行研究、原型構(gòu)建和測(cè)試,然后再將這些想法移植到某個(gè)更大的生產(chǎn)系統(tǒng)中去(可能是用Java、C#或C++編寫的)。人們逐漸意識(shí)到,Python不僅適用于研究和原型構(gòu)建,同時(shí)也適用于構(gòu)建生產(chǎn)系統(tǒng)。我相信越來越多的企業(yè)也會(huì)這樣看,因?yàn)檠芯咳藛T和工程技術(shù)人員使用同一種編程工具將會(huì)給企業(yè)帶來非常顯著的組織效益。


為什么不選Python

雖然Python非常適合構(gòu)建計(jì)算密集型科學(xué)應(yīng)用程序以及幾乎各種各樣的通用系統(tǒng),但它對(duì)于不少應(yīng)用場(chǎng)景仍然力有不逮。

由于Python是一種解釋型編程語言,因此大部分Python代碼都要比用編譯型語言(比如Java和C++)編寫的代碼運(yùn)行慢得多。由于程序員的時(shí)間通常都比CPU時(shí)間值錢,因此許多人也愿意在這里做一些權(quán)衡。但是,在那些要求延遲非常小的應(yīng)用程序中(例如高頻交易系統(tǒng)),為了盡最大可能地優(yōu)化性能,耗費(fèi)時(shí)間使用諸如C++這樣更低級(jí)、更低生產(chǎn)率的語言進(jìn)行編程也是值得的。

對(duì)于高并發(fā)、多線程的應(yīng)用程序而言(尤其是擁有許多計(jì)算密集型線程的應(yīng)用程序),Python并不是一種理想的編程語言。這是因?yàn)镻ython有一個(gè)叫做全局解釋器鎖(Global Interpreter Lock,GIL)的東西,這是一種防止解釋器同時(shí)執(zhí)行多條Python字節(jié)碼指令的機(jī)制。有關(guān)“為什么會(huì)存在GIL”的技術(shù)性原因超出了本書的范圍,但是就目前來看,GIL并不會(huì)在短時(shí)間內(nèi)消失。雖然很多大數(shù)據(jù)處理應(yīng)用程序?yàn)榱四茉谳^短的時(shí)間內(nèi)完成數(shù)據(jù)集的處理工作都需要運(yùn)行在計(jì)算機(jī)集群上,但是仍然有一些情況需要用單進(jìn)程多線程系統(tǒng)來解決。

這并不是說Python不能執(zhí)行真正的多線程并行代碼,只不過這些代碼不能在單個(gè)Python進(jìn)程中執(zhí)行而已。比如說,Cython項(xiàng)目可以集成OpenMP(一個(gè)用于并行計(jì)算的C框架)以實(shí)現(xiàn)并行處理循環(huán)進(jìn)而大幅度提高數(shù)值算法的速度。



文章引用:http://www.lt-ad.com/new/158.html

本站文章為深圳網(wǎng)站建設(shè)·源美網(wǎng)絡(luò)原創(chuàng)策劃,如有版權(quán)糾紛或者違規(guī)問題,請(qǐng)聯(lián)系我們刪除,謝謝!

上一篇: 分布式存儲(chǔ)概念

下一篇: 做競(jìng)價(jià)推廣是否有效果,關(guān)鍵還得看創(chuàng)意,很重要!

返回列表
最新案例
OUR ADVANTAGE WORKS

售后保障

承諾任何問題1小時(shí)內(nèi)解決

數(shù)據(jù)備份

更安全、更高效、更穩(wěn)定

價(jià)格公道精準(zhǔn)

項(xiàng)目經(jīng)理精準(zhǔn)報(bào)價(jià)不弄虛作假

合作無風(fēng)險(xiǎn)

重合同講信譽(yù),無效全額退款