1、番外說明
大家好,我是小P,本系列是本人對Python模塊Numpy的一些學習記錄,總結於此一方面方便其它初學者學習,另一方面害怕自己遺忘,希望大家喜歡。此外,對“目標檢測/模型壓縮/語義分割”感興趣的小夥伴,歡迎加入QQ羣 813221712 討論交流,進羣請看羣公告!(可以點擊如下連接直接加入!)
點擊鏈接加入羣聊【Object Detection】:https://jq.qq.com/?_wv=1027&k=5kXCXF8
2、正題
參考鏈接:
https://www.runoob.com/numpy/numpy-matrix.html
NumPy 中包含了一個矩陣庫 numpy.matlib,該模塊中的函數返回的是一個矩陣,而不是 ndarray 對象。
一個 的矩陣是一個由行(row)列(column)元素排列成的矩形陣列。
矩陣裏的元素可以是數字、符號或數學式。以下是一個由 6 個數字元素構成的 2 行 3 列的矩陣:
2.1 matlib.empty()
matlib.empty() 函數返回一個新的矩陣,語法格式爲:
numpy.matlib.empty(shape, dtype, order)
參數說明:
● shape: 定義新矩陣形狀的整數或整數元組
● Dtype: 可選,數據類型
● order: C(行序優先) 或者 F(列序優先)
實例:numpy.matlib.empty使用
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]]
2.2 numpy.matlib.zeros()
numpy.matlib.zeros() 函數創建一個以 0 填充的矩陣。
實例:numpy.matlib.zeros使用
import numpy.matlib
import numpy as np
print (np.matlib.zeros((2,2)))
輸出結果爲:
[[0. 0.]
[0. 0.]]
2.3 numpy.matlib.ones()
numpy.matlib.ones()函數創建一個以 1 填充的矩陣。
實例:numpy.matlib.ones使用
import numpy.matlib
import numpy as np
print (np.matlib.ones((2,2)))
輸出結果爲:
[[1. 1.]
[1. 1.]]
2.4 numpy.matlib.eye()
numpy.matlib.eye() 函數返回一個矩陣,對角線元素爲 1,其他位置爲零。
numpy.matlib.eye(n, M,k, dtype)
參數說明:
● n: 返回矩陣的行數
● M: 返回矩陣的列數,默認爲 n
● k: 對角線的索引
● dtype: 數據類型
實例:numpy.matlib.eye使用
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.]]
2.5 numpy.matlib.identity()
numpy.matlib.identity() 函數返回給定大小的單位矩陣。
單位矩陣是個方陣,從左上角到右下角的對角線(稱爲主對角線)上的元素均爲 1,除此以外全都爲 0。
實例:numpy.matlib.identity使用
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.]]
2.6 numpy.matlib.rand()
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]]