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