NumPy 矩陣庫(Matrix)
NumPy 中包含了一個矩陣庫 numpy.matlib,該模組中的函數返回的是一個矩陣,而不是 ndarray 對象。
一個 的矩陣是一個由
行(row)
列(column)元素排列成的矩形陣列。
矩陣裏的元素可以是數字、符號或數學式。以下是一個由 6 個數字元素構成的 2 行 3 列的矩陣:
matlib.empty()
matlib.empty() 函數返回一個新的矩陣,語法格式為:
numpy.matlib.empty(shape, dtype, order)
參數說明:
- shape: 定義新矩陣形狀的整數或整數元組
- Dtype: 可選,數據類型
- order: C(行序優先) 或者 F(列序優先)
實例
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()
numpy.matlib.zeros() 函數創建一個以 0 填充的矩陣。
實例
import numpy.matlib
import numpy as np
print (np.matlib.zeros((2,2)))
輸出結果為:
[[0. 0.] [0. 0.]]
numpy.matlib.ones()
numpy.matlib.ones()函數創建一個以 1 填充的矩陣。
實例
import numpy.matlib
import numpy as np
print (np.matlib.ones((2,2)))
輸出結果為:
[[1. 1.] [1. 1.]]
numpy.matlib.eye()
numpy.matlib.eye() 函數返回一個矩陣,對角線元素為 1,其他位置為零。
numpy.matlib.eye(n, M,k, dtype)
參數說明:
- n: 返回矩陣的行數
- M: 返回矩陣的列數,默認為 n
- 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()
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()
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.matlib
import numpy as np
i = np.matrix('1,2;3,4')
print (i)
輸出結果為:
[[1 2] [3 4]]
實例
import numpy.matlib
import numpy as np
j = np.asarray(i)
print (j)
輸出結果為:
[[1 2] [3 4]]
實例
import numpy.matlib
import numpy as np
k = np.asmatrix (j)
print (k)
輸出結果為:
[[1 2] [3 4]]