Numpy 為Python提供了基礎的線性代數運算,包含了array, matrix, vector。加強了Python對於Big data的處理能力與速度,也方便使用者進行統整,並深入做資料分析。
使用import numpy as np方式匯入NumPy模組
Homogeneous Multidimensional Array
這是NumPy 中最主要的資料結構。Homogeneous 表示陣列中的資料將是同一類型(大多是numbers),Multidimensional 則顯示出這可以是N層的陣列。
1 | import numpy as np |
用np.array()來將List轉換為 ndarray,這裡的nd表示N-Dimensional,所以無論要創造多少層的array都可以。
ndarray.ndim: array的階層數,稱為 rankndarray.shape: 顯示array的架構。若是matrix(2D)則以(row, column) tuple的方式呈現。而此tuple的長度即rank。ndarray.size: 回傳array的elements總數
以上面的np_x為例,他是一個rank = 2的array,也就是2D array。他有2個rows、3個columns,當想要選擇array中的某個項目,可以使用np_x[row, column]來進行選取。
像是np_x[1,2]就能選到6,因為他屬於第row=2, column=3(index由0開始)。
而若想選出每個row的第一個column,則可以np_x[:, 0]來表示,將會回傳值為[1,4]的array。
Array Creation
除了上述的np.array(list)將List做轉換以外,還有以下幾個直接建立array的方法:
np.zeros((2,3)): 將創造一個被0.充滿,且row=2, column=3的arraynp.ones((2,3)): 與上列相同,只是變成被1.充滿。 特別注意:預設的dtype是float,可用np.ones((2,3), dtype=int16)將dtype轉為integernp.empty((2,3)):將根據記憶體空間隨機產生內容np.arange(10, 30, 5): 與range類似,將得到array([10, 15, 20, 25])np.linspace(s, e, n): 包含s與e,在這之間產生n個數字,間隔相同。所以dtype會是float
參考連結
- NumPy Tutorial
- Data Camp 課程: Intro to Python for Data Science