- Python數據分析與挖掘
- 齊福利 楊玲主編
- 619字
- 2024-03-14 11:21:31
第1章
數值計算模塊NumPy
Python語言是所謂的“膠水語言”,除了自身的語言系統和規則外,結合了大量應用于不同領域、實現不同功能的擴展程序庫(又稱擴展模塊或軟件包)。這也是Python語言獲得更多應用的關鍵。
NumPy是Python語言的一個擴展模塊,它支持多維數組與矩陣運算,為數組運算提供大量的數學函數庫。
NumPy是一個在Python中進行科學計算的基礎庫,重在數值計算,也是大部分Python科學計算庫的基礎庫,多用于在大型、多維數據上執行數值計算。
在NumPy中,最重要的對象是稱為ndarray的N維數組類型,它是描述相同類型元素的集合,是存儲單一數據類型的多維數組。NumPy的大多數功能以ndarray為核心展開。ndarray中的每個元素在內存中使用相同大小的塊,這是NumPy運行速度快的基礎。
NumPy是一個運行速度非常快的數學庫,NumPy專門針對ndarray的操作和運算進行了設計,所以對數組的存儲效率和輸入/輸出性能遠優于Python中的嵌套列表。數組越大,NumPy的優勢就越明顯。NumPy通常應用于以下場景。
(1)執行各種數學任務,例如數值積分、微分、內插、外推等。
(2)將計算機中的圖像表示為多維數字數組。NumPy提供了一些優秀的庫函數來快速處理圖像,例如鏡像圖像、按特定角度旋轉圖像等。
(3)在編寫機器學習算法時,需要對矩陣進行各種數值計算,例如矩陣乘法、求逆、換位、加法等。NumPy數組可用于存儲訓練數據和機器學習模型的參數。
盡管Python本身有列表等類似數組功能的序列數據類型,但對于相同的運算,使用列表的執行速度不能與使用NumPy數組ndarray相比。當數據量較大時,二者會有很明顯的區別,列表處理的速度會很慢。