numpy矩阵库(Matrix)——个人笔记

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/yu_1628060739/article/details/102716292

numpy矩阵库(Matrix)

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

ndarray 对象是用于存放同类型元素的多维数组。

numpy中数组和矩阵的区别:
       matrix是array的分支,matrix和array在很多时候都是通用的,你用哪一个都一样。但这时候,官方建议大家如果两个可以通用,那就选择array,因为array更灵活,速度更快,很多人把二维的array也翻译成矩阵。但是matrix的优势就是相对简单的运算符号,比如两个矩阵相乘,就是用符号*,但是array相乘不能这么用,得用方法.dot()array的优势就是不仅仅表示二维,还能表示3、4、5…维,而且在大部分Python程序里,array也是更常用的。

numpy矩阵库(Matrix)中常见的函数

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

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

参数说明:

  • shape: 定义新矩阵形状的整数或整数元组
  • Dtype: 可选,数据类型
  • order: C(行序优先) 或者 F(列序优先)
import numpy.matlib 
import numpy as np
 
print (np.matlib.empty((2,2)))
# 填充为随机数据

结果:

[[5.98129759e-154 5.96083817e+175]
 [3.53391889e+246 2.73004881e-095]]

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

import numpy.matlib 
import numpy as np 
 
print (np.matlib.zeros((2,2)))

结果:

[[0. 0.]
 [0. 0.]]

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

import numpy.matlib 
import numpy as np 
 
print (np.matlib.ones((2,2)))

结果:

[[1. 1.]
 [1. 1.]]

4.numpy.matlib.eye()
       numpy.matlib.eye() 函数返回一个矩阵,对角线元素为 1,其他位置为零。

numpy.matlib.eye(n, M,k, dtype)

参数说明:

  • n: 返回矩阵的行数
  • M: 返回矩阵的列数,默认为
  • k: 对角线的索引
  • dtype: 数据类型

其中,k表示对角从哪里开始,k=0表示从第0行的0列开始,k=1表示从0行的1列开始。

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.]]

5.numpy.matlib.identity()
       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.]]

6.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维数组。

猜你喜欢

转载自blog.csdn.net/yu_1628060739/article/details/102716292