一、匯入 NumPy
- 匯入 NumPy
練習 NumPy 之前,首先需要匯入 NumPy 模組,並約定簡稱為 np。
>>> import numpy as np
- 檢視 NumPy 版本資訊
>>> print(np.__version__)
1.16.2
二、建立陣列
NumPy 的主要物件是多維陣列 Ndarray。在 NumPy 中維度(dimensions)叫做軸(axes),軸的個數叫做秩(rank)。
例如,下方陣列是一個秩為 1 的陣列,因為它只有一個軸,而軸的長度為 3。
>>> [1, 2, 3]
[1, 2, 3]
又例如,下方陣列的秩為 2。第一個維度長度為 2,第二個維度長度為 3。
>>> [[1, 2, 3],
... [4, 5, 6]]
[[1, 2, 3], [4, 5, 6]]
1. 透過列表建立一維陣列
注意:numpy.array
和 Python 標準庫array.array
並不相同,前者更為強大,這也就是我們學習 NumPy 的重要原因之一。
>>> np.array([1, 2, 3])
array([1, 2, 3])
2. 透過列表建立二維陣列
>>> np.array([(1, 2, 3), (4, 5, 6)])
array([[1, 2, 3],
[4, 5, 6]])
3. 建立全為 0 的二維陣列
>>> np.zeros((3, 3))
array([[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.]])
4. 建立全為 1 的三維陣列
>>> np.ones((2, 3,np.ones((2, 3,np.ones((2, 3, 4))
array([[[1., 1., 1., 1.],
[1., 1., 1., 1.],
[1., 1., 1., 1.]],
[[1., 1., 1., 1.],
[1., 1., 1., 1.],
[1., 1., 1., 1.]]])
注意:務必想清楚上面 4 個陣列的維度關係
5. 建立一維等差陣列
>>> np.arange(5)
array([0, 1, 2, 3, 4])
6. 建立二維等差陣列
>>> np.arange(6).reshape(2, 3)
array([[0, 1, 2],
[3, 4, 5]])
7. 建立單位矩陣(二維陣列)
>>> np.eye(3)
array([[1., 0., 0.],
[0., 1., 0.],
[0., 0., 1.]])
8. 建立等間隔一維陣列
>>> np.linspace(1, 10, num=6)
array([ 1. , 2.8, 4.6, 6.4, 8.2, 10. ])
9. 建立二維隨機陣列
>>> np.random.rand(2, 3)
array([[0.50122984, 0.98824375, 0.81388012],
[0.60951775, 0.02055326, 0.97622093]])
10. 建立二維隨機整數陣列
>>> np.random.randint(5, size=(2, 3))
array([[2, 0, 2],
[4, 4, 4]])
11. 依據自定義函式建立陣列
>>> np.fromfunction(lambda i, j: i + j, (3, 3))
array([[0., 1., 2.],
[1., 2., 3.],
[2., 3., 4.]])
本作品採用《CC 協議》,轉載必須註明作者和本文連結