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课程推荐。
在这里插入图片描述

原文地址:https://www.cnblogs.com/hzcya1995/p/13302742.html