NumPy 是一個提供矩陣運算的套件,他能很方便的計算線性代數,並且可以取代掉 Python 內建的 list。
他相當常被使用,在機器學習、深度學習、影像處理、人工智慧等領域都需要用到大量的矩陣運算,就會需要使用 NumPy 這個套件來加速我們的研究。
在開始之前,需要先 import numpy
,我們才能開始使用這個函式庫內的函式。
因為在接下來的程式中,要使用這個套件的函式都需要用 numpy.函式名稱
來呼叫,所以為了讓程式碼更簡短,所以把它代稱為 np
import numpy as np
import numpy as np
x = np.array([1, 2, 3, 4, 5]) # 一維陣列
print(x)
print(type(x))
NumPy 的主要功能都架構在多重維度矩陣(N-dimensional array)上,稱為 ndarray。
y = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]) # 建立二維矩陣
z = np.array([[[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]], [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]]) # 建立三維矩陣
array.ndim
:查看矩陣的維度
a = np.array(42)
b = np.array([1, 2, 3, 4, 5])
c = np.array([[1, 2, 3], [4, 5, 6]])
d = np.array([[[1, 2, 3], [4, 5, 6]], [[1, 2, 3], [4, 5, 6]]])
print(a.ndim)
print(b.ndim)
print(c.ndim)
print(d.ndim)
ndmin
:可以用來決定建立的矩陣維度
x = np.array([1, 2, 3, 4], ndmin=5)
print(x)
print(x.ndim)
np.zero([4, 5]) # 建立一個 4x5 全為 0 的矩陣
np.ones([2, 3]) # 建立一個 4x5 全為 1 的矩陣
np.arange(1, 10, 2) # 建立一個 1 開始,最大到 10 一次加 2 的矩陣。
np.linspace(0, 6, 3) # 建立一個 0 到 6 平均分成 3 份的矩陣 [0 3 6]
np.full([2, 3], 7) # 建立一個 2x3 的矩陣,裡面的元素全都去 7
np.eye(3) # 建立一個 3x3 的單位矩陣
np.random.random([2, 3]) # 建立 2x3 的矩陣,元素的值為隨機的
待續...