NumPy 中包含了一個矩陣庫 numpy.matlib,該模塊中的函數返回的是一個矩陣,而不是 ndarray 對象。數組
一個 的矩陣是一個由行(row)列(column)元素排列成的矩形陣列。ide
矩陣裏的元素能夠是數字、符號或數學式。如下是一個由 6 個數字元素構成的 2 行 3 列的矩陣:函數
matlib.empty() 函數返回一個新的矩陣,語法格式爲:spa
numpy.matlib.empty(shape, dtype, order)
參數說明:code
import numpy.matlib import numpy as np print (np.matlib.empty((2,2))) # 填充爲隨機數據
輸出結果爲:對象
[[-1.49166815e-154 -1.49166815e-154] [ 2.17371491e-313 2.52720790e-212]]
numpy.matlib.zeros() 函數建立一個以 0 填充的矩陣。blog
import numpy.matlib import numpy as np print (np.matlib.zeros((2,2)))
輸出結果爲:索引
[[0. 0.] [0. 0.]]
numpy.matlib.ones()函數建立一個以 1 填充的矩陣。數學
import numpy.matlib import numpy as np print (np.matlib.ones((2,2)))
輸出結果爲:it
[[1. 1.] [1. 1.]]
numpy.matlib.eye() 函數返回一個矩陣,對角線元素爲 1,其餘位置爲零。
numpy.matlib.eye(n, M,k, dtype)
參數說明:
import numpy.matlib import numpy as np print (np.matlib.eye(n = 3, M = 4, k = 0, dtype = float))
輸出結果爲:
[[1. 0. 0. 0.] [0. 1. 0. 0.] [0. 0. 1. 0.]]
numpy.matlib.identity() 函數返回給定大小的單位矩陣。
單位矩陣是個方陣,從左上角到右下角的對角線(稱爲主對角線)上的元素均爲 1,除此之外全都爲 0。
import numpy.matlib import numpy as np # 大小爲 5,類型位浮點型 print (np.matlib.identity(5, dtype = float))
輸出結果爲:
[[ 1. 0. 0. 0. 0.] [ 0. 1. 0. 0. 0.] [ 0. 0. 1. 0. 0.] [ 0. 0. 0. 1. 0.] [ 0. 0. 0. 0. 1.]]
numpy.matlib.rand() 函數建立一個給定大小的矩陣,數據是隨機填充的。
import numpy.matlib import numpy as np print (np.matlib.rand(3,3))
輸出結果爲:
[[0.23966718 0.16147628 0.14162 ] [0.28379085 0.59934741 0.62985825] [0.99527238 0.11137883 0.41105367]]
矩陣老是二維的,而 ndarray 是一個 n 維數組。 兩個對象都是可互換的。
import numpy as np i = np.matrix('1,2;3,4') print(i) print('\n') j = np.asarray(i) print(j) print('\n') k = np.asmatrix (j) print (k)
輸出結果爲:
[[1 2]
[3 4]]
[[1 2]
[3 4]]
[[1 2] [3 4]]