NumPy是一個Python語言的軟件包,它非常適合于科學計算。在我們使用Python語言進行機器學習編程的時候,這是一個非常常用的基礎庫。
本文是對它的一個入門教程。
介紹
NumPy是一個用于科技計算的基礎軟件包,它是Python語言實現的。它包含了:
強大的N維數組結構 精密復雜的函數 可集成到C/C++和Fortran代碼的工具 線性代數,傅里葉變換以及隨機數能力除了科學計算的用途以外,NumPy也可被用作高效的通用數據的多維容器。由于它適用于任意類型的數據,這使得NumPy可以無縫和高效的集成到多種類型的數據庫中。
獲取NumPy
由于這是一個Python語言的軟件包,因此需要你的機器上首先需要具備Python語言的環境。關于這一點,請自行在網絡上搜索獲取方法。
關于如何獲取NumPy也請參閱scipy.org官網上的Installing packages。本文不再贅述。
筆者推薦使用pip的方式安裝Python包,命令如下:
pip3 install numpy
本文的代碼在如下的環境中驗證和測試:
硬件:MacBook Pro 2015 OS:macOS High Sierra 語言環境:Python 3.6.2 軟件包:numpy 1.13.3可以在這里獲取到本文的所有源碼:https://github.com/paulQuei/numpy_tutorial
另外,
為了簡單起見,本文我們會通過Python的print函數來進行結果的驗證 為了拼寫方便,我們會默認import numpy as np基礎屬性與數組創建
NumPy的基礎是一個同構的多維數據,數組中的元素可以通過下標來索引。在NumPy中,維度稱之為axis(復數是axes),維度的數量稱之為rank。
例如:
下面是一個具有rank 1的數組,axis的長度為3:
[1, 2, 3]
下面是一個具有rank 2的數組,axis的長度也是3:
[[ 1, 2, 3],
[ 4, 5, 6]]
我們可以通過array函數來創建NumPy的數組,例如這樣:
a = np.array([1, 2, 3])b = np.array([(1,2,3), (4,5,6)])
請注意,這里方括號是必須的,下面這種寫法是錯誤的:
a = np.array(1,2,3,4) # WRONG!!!
NumPy的數組類是ndarray,它有一個別名是 numpy.array,但這與Python標準庫的array.array并不一樣。后者僅僅是一個一維數組。而ndarray具有以下的屬性:
ndarray.ndim:數組的維數。在Python世界中,維數稱之為rank ndarray.shape:數組的維度。這是一系列數字,長度由數組的維度(ndim)決定。例如:長度為n的一維數組的shape是n。一個n行m列的矩陣的shape是n,m ndarray.size:數組中所有元素的數量 ndarray.dtype:數組中元素的類型,例如numpy.int32, numpy.int16或者numpy.float64 ndarray.itemsize:數組中每個元素的大小,單位為字節 ndarray.data:存儲數組元素的緩沖。通常我們只需要通過下標來訪問元素,而不需要訪問緩沖新聞熱點
疑難解答