Python学习笔记第四十八天

  • NumPy 矩阵库(Matrix)
    • 转置矩阵
    • matlib.empty()
    • numpy.matlib.ones()
    • numpy.matlib.eye()
    • numpy.matlib.identity()
    • numpy.matlib.rand()
  • 结束语

NumPy 矩阵库(Matrix)

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

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

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

转置矩阵

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

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



使用 t() 函数就能转换为 n 行 m 列的矩阵的过程

# 实例 1
import numpy as npa = 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(列序优先)
# 实例 2
import numpy.matlib
import numpy as npprint (np.matlib.empty((2,2)))
# 填充为随机数据

输出结果为:

[[-1.49166815e-154 -1.49166815e-154][ 2.17371491e-313  2.52720790e-212]]
numpy.matlib.zeros()
numpy.matlib.zeros() 函数创建一个以 0 填充的矩阵。
# 实例 3
import numpy.matlib
import numpy as np print (np.matlib.zeros((2,2)))

输出结果为:

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

numpy.matlib.ones()

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

# 实例 4
import numpy.matlib
import numpy as np print (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: 数据类型
# 实例 5
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.]]

numpy.matlib.identity()

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

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

# 实例 6
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.]]

numpy.matlib.rand()

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

# 实例 7
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 维数组。 两个对象都是可互换的。

# 实例 8
import numpy.matlib
import numpy as np  i = np.matrix('1,2;3,4')
print (i)

输出结果为:

[[1  2] [3  4]]```python
# 实例 9
import numpy.matlib
import numpy as np  j = np.asarray(i)
print (j)

输出结果为:

[[1  2] [3  4]]
# 实例 10
import numpy.matlib
import numpy as np  k = np.asmatrix (j)
print (k)

输出结果为:

[[1  2] [3  4]]

结束语

今天学习的是PythonNumPy 矩阵库(Matrix)学会了吗。 今天学习内容总结一下:

  1. 转置矩阵
  2. matlib.empty()
  3. numpy.matlib.ones()
  4. numpy.matlib.eye()
  5. numpy.matlib.identity()
  6. numpy.matlib.rand()

Python学习笔记第四十八天(NumPy 矩阵库(Matrix))相关推荐

  1. NumPy 矩阵库(Matrix)

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

  2. [转载] python学习笔记(三)- numpy基础:array及matrix详解

    参考链接: Python中的numpy.fv Numpy中的矩阵和数组 numpy包含两种基本的数据类型:数组(array)和矩阵(matrix).无论是数组,还是矩阵,都由同种元素组成. 下面是测试 ...

  3. Python学习笔记1环境搭建+Numpy

    Python環境安裝 系統環境path裡面配置安裝路徑打開cmd輸入py查看是否安裝路徑:D:/sofeware/python3.8 配置系統環境變量(可以安裝時選擇本身就配置) [外链图片转存失败, ...

  4. python 傅里叶变换_【python学习笔记】21:numpy傅里叶变换

    *一个简单的傅里叶变换 >>> import numpy as np >>> import matplotlib.pyplot as plt >>> ...

  5. 深度之眼 - Python学习笔记——第四章 组合数据类型

    第四章 组合数据类型 4.1 列表 列表是可变的! 4.1.1 列表的表达 序列类型:内部元素有位置关系,能通过位置序号访问其中元素 列表是一个可以使用多种类型元素,支持元素的增.删.查.改操作的序列 ...

  6. Python学习笔记(四)

    为什么80%的码农都做不了架构师?>>>    主要学习内容,语法控制结构(顺序,选择,循环).Python语言中代码的执行一般是按代码的顺序执行的,但是这个顺序不是一定的,我们可以 ...

  7. Python学习笔记(四)Python函数

    (三)python 函数 一 函数简介 在日常开发中有很多代码需要在多处使用 , 为了提高代码的复用性可以把代码需要复用的代码以函数的形式进行封装 . 二. 函数的调用 Python中内置了很多的函数 ...

  8. python学习笔记(四)字典(dict)

    创建 dict 方法 1: 创建一个空的 dict,这个空 dict,可以在以后向里面加东西用. >>> mydict = {} >>> mydict {} 不要小 ...

  9. 我的Python学习笔记(四):动态添加属性和方法

    一.动态语言相关概念 1.1 动态语言 在运行时代码可以根据某些条件改变自身结构 可以在运行时引进新的函数.对象.甚至代码,可以删除已有的函数等其他结构上的变化 常见的动态语言:Object-C.C# ...

最新文章

  1. 使用dwz框架搭建网站后台
  2. SIGIR 2021 | Pchatbot: 大规模个性化聊天机器人数据集
  3. 【Redis学习】Redis实现分布式锁
  4. java groovyshell_在java中使用groovy怎么搞
  5. c语言opengles程序,OpenGL ES _ 着色器_程序
  6. programfilesx86可以移动吗_配置全套的移动洗砂机多少钱?时产200吨可以处理吗?...
  7. react-redux学习笔记
  8. [转]导出数据到Excel的几种方法
  9. java 创建本地文件、写入文本内容、调用IE浏览器打开
  10. mysql padding_解决RGB模式下图片的padding(补边框)问题(含代码实现)
  11. strut2_struts.xml文件配置知识点汇集
  12. weblogic 启动 startWebLogic.sh
  13. 吾儿秘史--趣事糗事大杂烩第二季(2014.6.2-)-更新到2014年9月8日
  14. 兜兜转转,华为与李一男终于在汽车行业重逢,两者将展开决战?
  15. 四参数旋转角异常,平面坐标方位角不准确的问题
  16. MySQL第六讲 MySQL分库分表方案
  17. linux磁盘配额步骤,Linux磁盘配额设置及使用
  18. 2020-04-17
  19. 借钱赚钱花钱6点认识
  20. Oracle 权限详解(grant,revoke)

热门文章

  1. uevent 驱动_Linux--内核Uevent事件机制 与 Input子系统【转】
  2. 向量叉乘矩阵表示_向量点乘叉乘、矩阵、OpenGL变化
  3. 飞凌RK3399平台多媒体测试-RK3399 视频编解码及摄像头测试
  4. logstash zip linux安装,Linux安装Logstash
  5. dilb人脸识别+68关键点检测
  6. 中山市08年继续教育试题及答案
  7. 卷积神经网络中的 “全连接层”
  8. JAVA注解--原理理解,(借用他人资料举例,一通百通)
  9. Apache Spark 背后公司 Databricks 完成F轮融资,高达62亿美元估值
  10. 00后潮社交时代来临 社交类产品频出谁才是00后的爱?