NumPy是Python語(yǔ)言的一個(gè)擴(kuò)充程序庫(kù)。支持高級(jí)大量的維度數(shù)組與矩陣運(yùn)算,此外也針對(duì)數(shù)組運(yùn)算提供大量的數(shù)學(xué)函數(shù)庫(kù)。Numpy內(nèi)部解除了CPython的GIL(全局解釋器鎖),運(yùn)行效率極好,是大量機(jī)器學(xué)習(xí)框架的基礎(chǔ)庫(kù)!
NumPy的全名為NumericPython,是一個(gè)開源的Python科學(xué)計(jì)算庫(kù),它包括:
一個(gè)強(qiáng)大的N維數(shù)組對(duì)象ndrray;
比較成熟的(廣播)函數(shù)庫(kù);
用于整合C/C++和Fortran代碼的工具包;
實(shí)用的線性代數(shù)、傅里葉變換和隨機(jī)數(shù)生成函數(shù)
NumPy的優(yōu)點(diǎn):
對(duì)于同樣的數(shù)值計(jì)算任務(wù),使用NumPy要比直接編寫Python代碼便捷得多;
NumPy中的數(shù)組的存儲(chǔ)效率和輸入輸出性能均遠(yuǎn)遠(yuǎn)優(yōu)于Python中等價(jià)的基本數(shù)據(jù)結(jié)構(gòu),且其能夠提升的性能是與數(shù)組中的元素成比例的;
NumPy的大部分代碼都是用C語(yǔ)言寫的,其底層算法在設(shè)計(jì)時(shí)就有著優(yōu)異的性能,這使得NumPy比純Python代碼高效得多
當(dāng)然,NumPy也有其不足之處,由于NumPy使用內(nèi)存映射文件以達(dá)到最優(yōu)的數(shù)據(jù)讀寫性能,而內(nèi)存的大小限制了其對(duì)TB級(jí)大文件的處理;此外,NumPy數(shù)組的通用性不及Python提供的list容器。因此,在科學(xué)計(jì)算之外的領(lǐng)域,NumPy的優(yōu)勢(shì)也就不那么明顯。
以上內(nèi)容為大家介紹了PythonNumPy,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。