NumPy包含一个矩阵库NumPy.matlib,这个模块的函数用于处理矩阵而不是ndarray对象。
NumPy中,ndarray数组可以是n维的,与此不同,矩阵总是二维的,但这两种对象可以相互转换。
matlib.empty()
empty()函数返回一个新的矩阵,但不会初始化矩阵元素。
numpy.matlib.empty(shape, dtype, order)
shape 定义新矩阵形状的int或int的元组
dtype 可选,指定矩阵数据类型
order C 或 F
示例
importnumpy.matlibimportnumpy as np
a= np.matlib.empty((2,2))print (a)
输出
[[6.91241356e-310 1.37748664e-316]
[6.91240378e-310 6.91240378e-310]]
可以看到,矩阵元素都是随机值。
numpy.matlib.zeros()
zeros()函数返回一个新的矩阵,矩阵元素被初始化为0。
示例
importnumpy.matlibimportnumpy as np
a= np.matlib.zeros((2,2))print (a)
输出
[[ 0. 0.]
[ 0. 0.]]
numpy.matlib.ones()
zeros()函数返回一个新的矩阵,矩阵元素被初始化为1。
示例
importnumpy.matlibimportnumpy as np
a= np.matlib.zeros((2,2))print (a)
输出
[[ 1. 1.]
[1. 1.]]
numpy.matlib.eye()
eye()函数返回一个矩阵,对角线上的元素都是1,其它地方都是0。该函数接受以下参数。
numpy.matlib.eye(n, M, k, dtype)
n 返回矩阵中的行数
M 列数,默认为n
k 对角线的开始索引
dtype 矩阵的数据类型
示例
importnumpy.matlibimportnumpy as npprint('对角线的开始索引为0:')print(np.matlib.eye(n = 3, M = 4, k = 0, dtype =float))print('\n')print('对角线的开始索引为1:')print(np.matlib.eye(n = 3, M = 4, k = 1, dtype =float))print('\n')
输出
对角线的开始索引为0:
[[1. 0. 0. 0.]
[0.1. 0. 0.]
[0. 0.1. 0.]]
对角线的开始索引为1:
[[0.1. 0. 0.]
[0. 0.1. 0.]
[0. 0. 0.1.]]
numpy.matlib.identity()
identity()函数返回指定大小的单位矩阵。单位矩阵是一个所有对角元素都为1的方阵。
示例
importnumpy.matlibimportnumpy as npprint (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()
`rand()`函数返回一个指定大小的矩阵,其中填充随机值。**示例**```pythonimportnumpy.matlibimportnumpy as npprint (np.matlib.rand(3,3))
输出
[[0.5413199 0.5749519 0.19755942]
[0.57128833 0.24267348 0.65186677]
[0.08517 0.9238393 0.15061818]]