怎樣進(jìn)行Python內(nèi)置函數(shù)與numPy運(yùn)算速度對(duì)比

本篇文章為大家展示了怎樣進(jìn)行Python內(nèi)置函數(shù)與numPy運(yùn)算速度對(duì)比,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

成都創(chuàng)新互聯(lián)公司-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比三水網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式三水網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋三水地區(qū)。費(fèi)用合理售后完善,十余年實(shí)體公司更值得信賴(lài)。

Python自己帶了幾個(gè)函數(shù),主要是sum,max,min,同時(shí)numPy中也有幾個(gè)類(lèi)似的函數(shù),今天對(duì)比了一下幾個(gè)函數(shù)的運(yùn)算速度,發(fā)現(xiàn)了還是numpy的array計(jì)算速度最快。

思路,通過(guò)產(chǎn)生1萬(wàn)個(gè)隨機(jī)數(shù),對(duì)其用四種方法求和,以及求最大值,求均值的方式與求和相同,求最小值的方式與求最大值也類(lèi)似,故只測(cè)了求和與最大值兩項(xiàng)。

import random
import time
import numpy as np
from pandas import Series
a=[]
for i in range(100000000):
    a.append(random.random())
t1=time.time()
sum1=sum(a) #直接用內(nèi)置函數(shù)求
t2=time.time()
sum2=np.sum(a)#用numpy直接求
t3=time.time()

b=np.array(a)
t4=time.time()
sum3=np.sum(b)#用numpy轉(zhuǎn)換為array后求
t5=time.time()

c=Series(a)
t6=time.time()
sum4=c.sum()#用pandas的Series對(duì)象求
t7=time.time()
print t2-t1,t3-t2,t5-t4,t7-t6

最后的結(jié)果分別為# sum 1.60611581802       9.87746500969    0.223296165466   1.66015696526

可以看出,以array為對(duì)象的numpy計(jì)算方式最快,而以numpy直接計(jì)算最慢,內(nèi)置函數(shù)速度排第二。

求最大值

<pre name="code" class="python">import random
import time
import numpy as np
from pandas import Series
a=[]
for i in range(100000000):
    a.append(random.random())
t1=time.time()
sum1=max(a)#直接用內(nèi)置函數(shù)求
t2=time.time()
sum2=np.max(a)#用numpy直接求
t3=time.time()
b=np.array(a)
t4=time.time()
sum3=np.max(b)#用numpy轉(zhuǎn)換為array后求
t5=time.time()
c=Series(a)
t6=time.time()
sum4=c.max()#用pandas的Series對(duì)象求
t7=time.time()
print t2-t1,t3-t2,t5-t4,t7-t6



結(jié)果為:
# max 2.81509399414    9.83987283707   0.219717025757    1.62969207764
結(jié)果依然是以array為計(jì)算對(duì)象的numpy最快。

綜上,如果考慮運(yùn)算速度,應(yīng)該先將對(duì)象轉(zhuǎn)為array,再用numpy進(jìn)行計(jì)算,可獲得最快的計(jì)算速度。

上述內(nèi)容就是怎樣進(jìn)行Python內(nèi)置函數(shù)與numPy運(yùn)算速度對(duì)比,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)頁(yè)題目:怎樣進(jìn)行Python內(nèi)置函數(shù)與numPy運(yùn)算速度對(duì)比
URL地址:http://bm7419.com/article32/gocesc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、企業(yè)建站、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈、微信公眾號(hào)做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化