這個文章要介紹的是如何使用numpy來做二次元的矩陣。
二次元矩陣
np.array的參數中只要指定二次元的list我們就可以做出二次元的矩陣。舉例來說,如果要製作3 x 3的矩陣(三行三列)代碼會寫成下面這樣子。
import numpy as np
x = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(x)
#[[1 2 3]
[4 5 6]
[7 8 9]]
取得矩陣內容
接著我們來試試看如何取得矩陣內容。
取得內容
import numpy as np
x = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(x[0, 2]) # 取得第1行第3列的3
print(x[2, 0]) # 取得第3行第1列的7
Slicing
Slicing是比較特別的取得內容的方式。例如我們要從3×3的矩陣之中,取得其中的2×2的矩陣的時候,可以寫成下面的代碼。
import numpy as np
x = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(x[0:2, 0:2])
#[[1 2]
[4 5]]
print(x[1:3, 1:3])
#[[5 6]
[8 9]]
當然也不一定要取得2×2的矩陣,也可以取得1×2或是2×1等等,這邊就只要將代碼x[0:2, 0:2]中間的數字修改成其他數字就可以了。
取得特定行
只要指定行的編號,我們就可以取得特定的行的內容了。
import numpy as np
x = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(x[0]) #取得第一行
# [1 2 3]
print(x[2]) #取得第三行
# [7 8 9]
取得特定列
因為可以使用Slicing,所以只要把行全部改成“ : ”(冒號),就可以指定要取得哪一列的內容了。
import numpy as np
x = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(x[:, 0]) #取得第一列
#[1 4 7]
print(x[:, 2]) #取得第三列
#[3 6 9]
留言