更新時(shí)間:2020-09-25 來(lái)源:黑馬程序員 瀏覽量:
從圖中我們可以看出ndarray在存儲(chǔ)數(shù)據(jù)的時(shí)候,數(shù)據(jù)與數(shù)據(jù)的地址都是連續(xù)的,這樣就給使得批量操作數(shù)組元素時(shí)速度更快。
這是因?yàn)閚darray中的所有元素的類型都是相同的,而Python列表中的元素類型是任意的,所以ndarray在存儲(chǔ)元素時(shí)內(nèi)存可以連續(xù),而python原生list就只能通過(guò)尋址方式找到下一個(gè)元素,這雖然也導(dǎo)致了在通用性能方面Numpy的ndarray不及Python原生list,但在科學(xué)計(jì)算中,Numpy的ndarray就可以省掉很多循環(huán)語(yǔ)句,代碼使用方面比Python原生list簡(jiǎn)單的多。
·ndarray支持并行化運(yùn)算(向量化運(yùn)算)
·效率遠(yuǎn)高于純Python代碼
Numpy底層使用C語(yǔ)言編寫,內(nèi)部解除了GIL(全局解釋器鎖),其對(duì)數(shù)組的操作速度不受Python解釋器的限制,所以,其效率遠(yuǎn)高于純Python代碼。
猜你喜歡
下面是黑馬程序員公開(kāi)的幾套人工智能視頻教程,如果感興趣可以下載學(xué)習(xí)。