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]])