zoukankan      html  css  js  c++  java
  • 18、NumPy——矩阵库(Matrix)

    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 # 填充为随机数据

    执行结果:

    [[6.23042070e-307 1.42417221e-306]
     [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)))

    执行结果:

    [[0. 0.]
     [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. 1.]]

    4、numpy.matlib.eye()

    numpy.matlib.eye() 函数返回一个矩阵,对角线元素为 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. 0. 0. 0.]
     [0. 1. 0. 0.]
     [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.  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() 函数创建一个给定大小的矩阵,数据是随机填充的。

    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:
    ', x, type(x))
     6 print('ndarray y:
    ', y, type(y))
     7 # 相互转换
     8 z = np.asmatrix(y)
     9 print('z:', type(z))
    10 u = np.asmatrix(x)
    11 print('U:', type(u))

    执行结果:

    矩阵x:
     [[1 2]
     [3 4]] <class 'numpy.matrix'>
    ndarray y:
     [[1 2]
     [3 4]] <class 'numpy.ndarray'>
    z: <class 'numpy.matrix'>
    U: <class 'numpy.matrix'>
  • 相关阅读:
    js输出
    mysql主从同步(4)-Slave延迟状态监控
    mysql主从同步(3)-percona-toolkit工具(数据一致性监测、延迟监控)使用梳理
    【故障】MySQL主从同步故障-Slave_SQL_Running: No
    什么是bgp线路
    F5负载均衡虚拟服务器配置FTP端口访问不了
    Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
    东风本田/XR-V/2017款
    mysqldump导出数据库导入数据库
    .htaccess设置301跳转及常用技巧整理
  • 原文地址:https://www.cnblogs.com/weststar/p/11592811.html
Copyright © 2011-2022 走看看