NumPy 矩阵库(Matrix)

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

一个 的矩阵是一个由行(row)列(column)元素排列成的矩形阵列。

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

1、matlib.empty()

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

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

参数说明:

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

执行结果:

  1. [[6.23042070e-307 1.42417221e-306]
  2. [1.37961641e-306 1.11261027e-306]]

2、numpy.matlib.zeros()

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

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

执行结果:

  1. [[0. 0.]
  2. [0. 0.]]

3、numpy.matlib.ones()

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

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

执行结果:

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

4、numpy.matlib.eye()

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

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

参数说明:

  • n: 返回矩阵的行数
  • M: 返回矩阵的列数,默认为 n
  • k: 对角线的索引
  • dtype: 数据类型
  1. import numpy.matlib
  2. import numpy as np
  3.  
  4. print (np.matlib.eye(n = 3, M = 4, k = 0, dtype = float))

执行结果:

  1. [[1. 0. 0. 0.]
  2. [0. 1. 0. 0.]
  3. [0. 0. 1. 0.]]

5、numpy.matlib.identity()

numpy.matlib.identity() 函数返回给定大小的单位矩阵。

单位矩阵是个方阵,从左上角到右下角的对角线(称为主对角线)上的元素均为 1,除此以外全都为 0。

  1. import numpy.matlib
  2. import numpy as np
  3.  
  4. # 大小为 5,类型位浮点型
  5. print (np.matlib.identity(5, dtype = float))

执行结果:

  1. [[ 1. 0. 0. 0. 0.]
  2. [ 0. 1. 0. 0. 0.]
  3. [ 0. 0. 1. 0. 0.]
  4. [ 0. 0. 0. 1. 0.]
  5. [ 0. 0. 0. 0. 1.]]

6、numpy.matlib.rand()

numpy.matlib.rand() 函数创建一个给定大小的矩阵,数据是随机填充的。

  1. import numpy.matlib
  2. import numpy as np
  3.  
  4. print (np.matlib.rand(3,3))

执行结果:

  1. [[0.23966718 0.16147628 0.14162 ]
  2. [0.28379085 0.59934741 0.62985825]
  3. [0.99527238 0.11137883 0.41105367]]

矩阵总是二维的,而 ndarray 是一个 n 维数组。 两个对象都是可互换的。

  1. import numpy as np
  2. x = np.matrix('1,2;3,4')
  3. y = np.array([[1, 2],
  4. [3, 4]])
  5. print('矩阵x:\n', x, type(x))
  6. print('ndarray y:\n', y, type(y))
  7. # 相互转换
  8. z = np.asmatrix(y)
  9. print('z:', type(z))
  10. u = np.asmatrix(x)
  11. print('U:', type(u))

执行结果:

  1. 矩阵x:
  2. [[1 2]
  3. [3 4]] <class 'numpy.matrix'>
  4. ndarray y:
  5. [[1 2]
  6. [3 4]] <class 'numpy.ndarray'>
  7. z: <class 'numpy.matrix'>
  8. U: <class 'numpy.matrix'>

18、NumPy——矩阵库(Matrix)的更多相关文章

  1. NumPy 矩阵库(Matrix)

    NumPy 矩阵库(Matrix) NumPy 中包含了一个矩阵库 numpy.matlib,该模块中的函数返回的是一个矩阵,而不是 ndarray 对象. 一个 的矩阵是一个由行(row)列(col ...

  2. 吴裕雄--天生自然Numpy库学习笔记:NumPy 矩阵库(Matrix)

    import numpy.matlib import numpy as np print (np.matlib.empty((2,2))) # 填充为随机数据 numpy.matlib.zeros() ...

  3. NumPy矩阵库

    NumPy - 矩阵库 NumPy 包包含一个 Matrix库numpy.matlib.此模块的函数返回矩阵而不是返回ndarray对象. matlib.empty() matlib.empty()函 ...

  4. python之numpy矩阵库的使用(续)

    本文是对我原先写的python常用序列list.tuples及矩阵库numpy的使用中的numpy矩阵库的使用的补充.结合我个人现在对线性代数的复习进度来不断更博. Section 1:行列式的计算 ...

  5. Numpy 矩阵库(Matrix)

    Numpy 中包含了一个矩阵库 numpy.matlib, 该模块中的函数返回的是一个矩阵, 而不是 ndarray 对象. 一个 m * n de 矩阵是一个 有 m 行(row) n 列(colu ...

  6. python常用序列list、tuples及矩阵库numpy的使用

    近期开始学习python机器学习的相关知识,为了使后续学习中避免编程遇到的基础问题,对python数组以及矩阵库numpy的使用进行总结,以此来加深和巩固自己以前所学的知识. Section One: ...

  7. 矩阵库Numpy基本操作

    NumPy是一个关于矩阵运算的库,熟悉Matlab的都应该清楚,这个库就是让python能够进行矩阵话的操作,而不用去写循环操作. 下面对numpy中的操作进行总结. numpy包含两种基本的数据类型 ...

  8. numpy函数库中一些经常使用函数的记录

    ##numpy函数库中一些经常使用函数的记录 近期才開始接触python,python中为我们提供了大量的库,不太熟悉.因此在<机器学习实战>的学习中,对遇到的一些函数的使用方法进行记录. ...

  9. numpy函数库中一些常用函数的记录

    ##numpy函数库中一些常用函数的记录 最近才开始接触Python,python中为我们提供了大量的库,不太熟悉,因此在<机器学习实战>的学习中,对遇到的一些函数的用法进行记录. (1) ...

随机推荐

  1. Dubbo源码学习总结系列七---注册中心

    Dubbo注册中心是框架的核心模块,提供了服务注册发现(包括服务提供者.消费者.路由策略.覆盖规则)的功能,该功能集中体现了服务治理的特性.该模块结合Cluster模块实现了集群服务.Dubbo管理控 ...

  2. centeros 安装maven 私服

    1:下载nexus: 下载maven: 2:解压缩 配置maven环境变量 cd /etc/profile MAVEN_HOME=/usr/mavenexport MAVEN_HOMEexport P ...

  3. 一次Oday提权批量拿取商城服务器root权限

    此问题影响范围巨大,涉及到所有通过niushop开发的商城,希望通过这篇文章能够引起大家的重视.(注:演示的所用商城已经修复了此漏洞) 严重性:特级 解决方案:1.在用户访问漏洞页时对其身份进行判断: ...

  4. 【leetcode】1094. Car Pooling

    题目如下: You are driving a vehicle that has capacity empty seats initially available for passengers.  T ...

  5. 各种IO之间的区别

  6. Xcode模拟器快捷键

    command + 左右 = 横竖屏旋转 command + H + H = 切入层级后台模式

  7. Leetcode_132. Palindrome Partitioning II_[DP]

    题目链接 Given a string s, partition s such that every substring of the partition is a palindrome. Retur ...

  8. Best Practices For Running On The PS4

    原文:https://forums.unrealengine.com/showthread.php?54448-Best-Practices-For-Running-On-The-PS4 Hey gu ...

  9. Gym - 101194H Great Cells

    Problem H. Great Cells 题目链接:https://codeforces.com/gym/101194/attachments Input file: Standard Input ...

  10. IBatis.Net 下使用SqlBulkCopy 大批量导入数据 问题解决

    SQLBulkCopy是继承SQLClient空间下的一个特殊类,它可以帮助我们以映射的方式把DataTable和DataReader数据大批量导入到数据库对应表中 public void Inert ...