章节
NumPy包含一个矩阵库NumPy.matlib,这个模块的函数用于处理矩阵而不是ndarray对象。
NumPy中,ndarray数组可以是n维的,与此不同,矩阵总是二维的,但这两种对象可以相互转换。
matlib.empty()
empty()
函数返回一个新的矩阵,但不会初始化矩阵元素。
numpy.matlib.empty(shape, dtype, order)
- shape 定义新矩阵形状的int或int的元组
- dtype 可选,指定矩阵数据类型
- order C 或 F
示例
import numpy.matlib
import numpy 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。
示例
import numpy.matlib
import numpy as np
a = np.matlib.zeros((2,2))
print (a)
输出
[[ 0. 0.]
[ 0. 0.]]
numpy.matlib.ones()
zeros()
函数返回一个新的矩阵,矩阵元素被初始化为1。
示例
import numpy.matlib
import numpy 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 矩阵的数据类型
示例
import numpy.matlib
import numpy as np
print('对角线的开始索引为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的方阵。
示例
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()
rand()
函数返回一个指定大小的矩阵,其中填充随机值。
示例
import numpy.matlib
import numpy as np
print (np.matlib.rand(3,3))
输出
[[0.5413199 0.5749519 0.19755942]
[0.57128833 0.24267348 0.65186677]
[0.08517 0.9238393 0.15061818]]
来源:https://blog.csdn.net/weixin_43031412/article/details/98943822