• np.mat()、np.matrix()、np.array()函数解析(最清晰的解释)


    欢迎关注WX公众号:【程序员管小亮】

    np.mat()函数用于将输入解释为矩阵。

    np.matrix()函数用于从类数组对象或数据字符串返回矩阵。

    np.array()函数用于创建一个数组。

    1、np.mat()

    np.mat(data, dtype=None)
    

    不同于np.matrix,如果输入本身就已经是matrix或ndarray ,则np.asmatrix不会复制输入,而是仅仅创建了一个新的引用。

    相当于np.matrix(data, copy=False)

    参数:

    • data:array_like。输入数据。

    • dtype:数据类型。输出矩阵的数据类型。

    返回:

    • mat:矩阵。数据被解释为矩阵。

    例子1:

    >>> x = np.array([[1, 2], [3, 4]])
    >>> m = np.asmatrix(x)
    >>> x[0,0] = 5
    >>> m
    matrix([[5, 2],
            [3, 4]])
    

    2、np.matrix()

    class numpy.matrix(data, dtype=None, copy=True)
    

    注意
    不再建议使用此类,即使对于线性代数也是如此。而是使用常规数组。该课程将来可能会被删除。

    矩阵是一种专用的二维阵列,通过操作保留其二维特性。

    它有一些特殊的运算符,如* (矩阵乘法)和 **(矩阵幂)。

    参数:

    • data : array_like或string。如果data是字符串,则将其解释为以逗号或空格分隔列的矩阵,以及分隔行的分号。

    • dtype : 数据类型。输出矩阵的数据类型。

    • copy : 布尔。如果data已经是ndarray,则此标志确定是复制数据(默认值)还是构造视图。

    例子2:

    >>> a = np.matrix('1 2; 3 4')
    >>> a
    matrix([[1, 2],
            [3, 4]])
    
    >>> np.matrix([[1, 2], [3, 4]])
    matrix([[1, 2],
            [3, 4]])
    

    3、np.array()

    numpy.array(object, 
    			dtype=None, 
    			copy=True, 
    			order='K', 
    			subok=False, 
    			ndmin=0)
    

    参数:

    • object : array_like
      数组,公开数组接口的任何对象,__array__方法返回数组的对象,或任何(嵌套)序列。

    • dtype : 数据类型,可选
      数组所需的数据类型。如果没有给出,那么类型将被确定为保持序列中的对象所需的最小类型。此参数只能用于“upcast”数组。对于向下转换,请使用.astype(t)方法。

    • copy : bool,可选
      如果为true(默认值),则复制对象。否则,只有当__array__返回副本,obj是嵌套序列,或者需要副本来满足任何其他要求(dtype,顺序等)时,才会进行复制。

    • order : {‘K’,‘A’,‘C’,‘F’},可选
      指定阵列的内存布局。如果object不是数组,则新创建的数组将按C顺序排列(行主要),除非指定了’F’,在这种情况下,它将采用Fortran顺序(专业列)。如果object是一个数组,则以下成立。

    order no copy copy=True
    ‘K’ unchanged F & C order preserved, otherwise most similar order
    ‘A’ unchanged F order if input is F and not C, otherwise C order
    ‘C’ C order C order
    ‘F’ F order F order

    当copy=False出于其他原因而复制时,结果copy=True与对A的一些例外情况相同。默认顺序为“K”。

    • subok : bool,可选。如果为True,则子类将被传递,否则返回的数组将被强制为基类数组(默认)。

    • ndmin : int,可选。指定结果数组应具有的最小维数。为满足此要求,将根据需要预先设置形状。

    返回:

    • out : ndarray。满足指定要求的数组对象。

    例子3:

    >>>
    >>> np.array([1, 2, 3])
    array([1, 2, 3])
    

    上溯造型:

    >>>
    >>> np.array([1, 2, 3.0])
    array([ 1.,  2.,  3.])
    

    不止一个方面:

    >>>
    >>> np.array([[1, 2], [3, 4]])
    array([[1, 2],
           [3, 4]])
    

    最小尺寸2:

    >>>
    >>> np.array([1, 2, 3], ndmin=2)
    array([[1, 2, 3]])
    

    提供的类型:

    >>>
    >>> np.array([1, 2, 3], dtype=complex)
    array([ 1.+0.j,  2.+0.j,  3.+0.j])
    

    由多个元素组成的数据类型:

    >>>
    >>> x = np.array([(1,2),(3,4)],dtype=[('a','<i4'),('b','<i4')])
    >>> x['a']
    array([1, 3])
    ```py
    从子类创建数组:
    ```py
    >>>
    >>> np.array(np.mat('1 2; 3 4'))
    array([[1, 2],
           [3, 4]])
    >>>
    >>> np.array(np.mat('1 2; 3 4'), subok=True)
    matrix([[1, 2],
            [3, 4]])
    

    python课程推荐。
    在这里插入图片描述

  • 相关阅读:
    AIO 异步时间非阻塞I/O
    学习计算机视觉(持续更新中..)
    转:Dropout解决过拟合问题
    转:non-saturating nonlinearity
    numpy, matplotlib, pandas 精品教程
    转:计算机视觉竞赛平台汇总
    计算机视觉:rcnn、fast-rcnn、faster-rcnn、SSD、YOLO
    转: 批标准化Batch Normalization
    用PCA对鸢尾花数据集降维并可视化
    Python实现PCA降维
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13302742.html
Copyright © 2020-2023  润新知