NumPy 包包含一個 Matrix庫numpy.matlib
。此模組的函式返回矩陣而不是返回ndarray
物件。
matlib.empty()
matlib.empty()
函式返回一個新的矩陣,而不初始化元素。 該函式接受以下引數。
numpy.matlib.empty(shape, dtype, order)
其中:
序號 | 引數及描述 |
---|---|
1. | shape 定義新矩陣形狀的整數或整數元組 |
2. | Dtype 可選,輸出的資料型別 |
3. | order C 或者 F |
import numpy.matlib
import numpy as np
print np.matlib.empty((2,2))
# 填充為亂數據
輸出如下:
[[ 2.12199579e-314, 4.24399158e-314]
[ 4.24399158e-314, 2.12199579e-314]]
numpy.matlib.zeros()
此函式返回以零填充的矩陣。
import numpy.matlib
import numpy as np
print np.matlib.zeros((2,2))
輸出如下:
[[ 0. 0.]
[ 0. 0.]])
numpy.matlib.ones()
此函式返回以一填充的矩陣。
import numpy.matlib
import numpy as np
print np.matlib.ones((2,2))
輸出如下:
[[ 1. 1.]
[ 1. 1.]]
numpy.matlib.eye()
這個函式返回一個矩陣,對角線元素為 1,其他位置為零。 該函式接受以下引數。
numpy.matlib.eye(n, M,k, dtype)
其中:
序號 | 引數及描述 |
---|---|
1. | n 返回矩陣的行數 |
2. | M 返回矩陣的列數,預設為n |
3. | k 對角線的索引 |
4. | 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 的方陣。
import numpy.matlib
import numpy as np
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.82674464 0.57206837 0.15497519]
[ 0.33857374 0.35742401 0.90895076]
[ 0.03968467 0.13962089 0.39665201]]
注意,矩陣總是二維的,而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]]