python numpy矩阵_NumPy 矩阵库(Matrix)

NumPy 矩阵库(Matrix)

NumPy 中包含了一个矩阵库 numpy.matlib,该模块中的函数返回的是一个矩阵,而不是 ndarray 对象。

一个

mxn.svg的矩阵是一个由

m-numpy.svg行(row)

n-numpy.svg列(column)元素排列成的矩形阵列。

矩阵里的元素可以是数字、符号或数学式。以下是一个由 6 个数字元素构成的 2 行 3 列的矩阵:

61f786996bcfb75972dd77712c90122bc8765269.svg

转置矩阵

NumPy 中除了可以使用 numpy.transpose 函数来对换数组的维度,还可以使用 T 属性。。

例如有个 m 行 n 列的矩阵,使用 t() 函数就能转换为 n 行 m 列的矩阵。

Matrix_transpose.gif

4a92835c45d5cd15dd00a8d90c14bdb4b8150ef0.svg

8a1e10800e0d0e3ffa90917139532cfb8348fc63.svg

实例

importnumpyasnpa=np.arange(12).reshape(3,4)print('原数组:')print(a)print('\n')print('转置数组:')print(a.T)

输出结果如下:

原数组:

[[ 0 1 2 3]

[ 4 5 6 7]

[ 8 9 10 11]]

转置数组:

[[ 0 4 8]

[ 1 5 9]

[ 2 6 10]

[ 3 7 11]]

matlib.empty()

matlib.empty() 函数返回一个新的矩阵,语法格式为:

numpy.matlib.empty(shape, dtype, order)

参数说明:

shape: 定义新矩阵形状的整数或整数元组

Dtype: 可选,数据类型

order: C(行序优先) 或者 F(列序优先)

实例

importnumpy.matlibimportnumpyasnpprint(np.matlib.empty((2,2)))# 填充为随机数据

输出结果为:

[[-1.49166815e-154 -1.49166815e-154]

[ 2.17371491e-313 2.52720790e-212]]

numpy.matlib.zeros()

numpy.matlib.zeros() 函数创建一个以 0 填充的矩阵。

实例

importnumpy.matlibimportnumpyasnpprint(np.matlib.zeros((2,2)))

输出结果为:

[[0. 0.]

[0. 0.]]

numpy.matlib.ones()

numpy.matlib.ones()函数创建一个以 1 填充的矩阵。

实例

importnumpy.matlibimportnumpyasnpprint(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: 数据类型

实例

importnumpy.matlibimportnumpyasnpprint(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。

aab94f3654099a22bbf9aedfe99324e2.png

实例

importnumpy.matlibimportnumpyasnp# 大小为 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() 函数创建一个给定大小的矩阵,数据是随机填充的。

实例

importnumpy.matlibimportnumpyasnpprint(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 维数组。 两个对象都是可互换的。

实例

importnumpy.matlibimportnumpyasnpi=np.matrix('1,2;3,4')print(i)

输出结果为:

[[1 2]

[3 4]]

实例

importnumpy.matlibimportnumpyasnpj=np.asarray(i)print(j)

输出结果为:

[[1 2]

[3 4]]

实例

importnumpy.matlibimportnumpyasnpk=np.asmatrix(j)print(k)

输出结果为:

[[1 2]

[3 4]]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值