新聞中心
Numpy會(huì)成為下一個(gè)Python嗎?

創(chuàng)新互聯(lián)公司長(zhǎng)期為千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為遂川企業(yè)提供專業(yè)的成都網(wǎng)站建設(shè)、做網(wǎng)站,遂川網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
Python是目前世界上最流行的統(tǒng)計(jì)計(jì)算語(yǔ)言之一。
有趣之處在于,開(kāi)發(fā)者從未想過(guò)將Python設(shè)計(jì)為一種統(tǒng)計(jì)語(yǔ)言。盡管Python確實(shí)具有一些函數(shù)特性,例如:無(wú)類(lèi)計(jì)算,但它很大程度上還是一種面向?qū)ο蟮恼Z(yǔ)言。與R這樣的傳統(tǒng)統(tǒng)計(jì)語(yǔ)言相比,Python更類(lèi)似于如C ++這樣的語(yǔ)言。因此,其實(shí)Python的代碼庫(kù)最初并不是為數(shù)據(jù)科學(xué)而創(chuàng)建的。
R,Julia甚至Go之類(lèi)的語(yǔ)言通常實(shí)現(xiàn)了用來(lái)進(jìn)行線性代數(shù)運(yùn)算的基本函數(shù)和操作數(shù),而Python基礎(chǔ)庫(kù)沒(méi)有這類(lèi)函數(shù)。如果你使用Python進(jìn)行線性代數(shù)運(yùn)算已有一段時(shí)間,很可能在代碼中聲明這個(gè)經(jīng)典語(yǔ)句:
- import numpy as np
Numpy將Python的統(tǒng)計(jì)能力從20%提升到了100%。對(duì)數(shù)據(jù)科學(xué)家來(lái)說(shuō),避免使用Numpy很難。
Numpy不僅具有Python語(yǔ)言缺少的線性代數(shù)功能,還具備許多令工作事半功倍的數(shù)學(xué)和數(shù)據(jù)管理特性。
不僅如此,Pandas(Python的數(shù)據(jù)表管理庫(kù))是基于Numpy構(gòu)建的。這使得二者的集成幾乎是無(wú)縫的。Numpy和Pandas穩(wěn)定、強(qiáng)大的代碼庫(kù)使數(shù)據(jù)科學(xué)任務(wù)變得流暢。這就是Python在數(shù)據(jù)科學(xué)領(lǐng)域領(lǐng)先于許多其他語(yǔ)言的全部原因。很簡(jiǎn)單,也十分易于理解。
鑒于大多數(shù)高級(jí)語(yǔ)言都實(shí)現(xiàn)了各自的線性代數(shù)函數(shù),Python更底層一些且需要的操作數(shù)或函數(shù)不止一個(gè)似乎有些奇怪。
比較
若沒(méi)有Numpy,Python該如何在數(shù)組之間進(jìn)行數(shù)學(xué)運(yùn)算呢?
它又如何與當(dāng)前其他統(tǒng)計(jì)語(yǔ)言一爭(zhēng)高下呢?實(shí)際上,Python的數(shù)組迭代能力很棒。zip()函數(shù)可以同時(shí)遍歷兩個(gè)列表。
- array =[]
- for f, bin zip(array1, array2):
- res = f * b
- array.append(res)
盡管這看起來(lái)不難,但把Python與另一種語(yǔ)言(例如R或Julia)進(jìn)行比較,就能發(fā)現(xiàn)使用一種獲得兩個(gè)數(shù)組的乘積的更簡(jiǎn)單的方法。
例如,在R中:
- array<- array1 * array2
R使這個(gè)操作變得容易;可以將星號(hào)操作數(shù)用于數(shù)組乘法以及整數(shù)和雙精度數(shù)的乘法。
在Julia中:
- array =array1 .* array2
在Julia中,簡(jiǎn)單地在星號(hào)前面放置一個(gè)點(diǎn),使其成為“.*”,就能將兩個(gè)數(shù)組相乘。
隨著Python越發(fā)成為一種統(tǒng)計(jì)語(yǔ)言,觀望Numpy是否能夠進(jìn)入基礎(chǔ)語(yǔ)言行列會(huì)是一件趣事。
顯然,隨著Python在統(tǒng)計(jì)中的應(yīng)用會(huì)影響其增加更多函數(shù)特性的可能性。盡管Numpy定會(huì)繼續(xù)提供許多工具并提升處理困難任務(wù)的能力,我還是無(wú)法想象一個(gè)不需要指針的基本語(yǔ)言,以及Numpy會(huì)進(jìn)行一些棄用??赡芎芏鄼C(jī)器都安裝了像Numpy一樣的工具,但需要一個(gè)包來(lái)在一行中進(jìn)行數(shù)組乘法,這的確顯得有些零散和奇怪。
盡管Numpy的某些功能是否已納入Python基礎(chǔ)庫(kù)影響不大,Numpy也已被視為Python的擴(kuò)展,我還是覺(jué)得這個(gè)想法很有趣。
實(shí)際上,這可能性很大,且當(dāng)下就有望實(shí)現(xiàn)。雖然這個(gè)想法合理,但也有充足的理由不予采納。特別考慮到,隨著Python在數(shù)據(jù)科學(xué)中的使用越來(lái)越廣泛,其可能會(huì)為適應(yīng)統(tǒng)計(jì)任務(wù)而新增一些特性。
以后究竟會(huì)如何發(fā)展,我們還且拭目以待……
分享文章:Numpy:Python,快叫我一聲“爸爸”
標(biāo)題URL:http://m.fisionsoft.com.cn/article/dhhodjp.html


咨詢
建站咨詢
