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