Python numpy.array函数方法的使用

numpy.array

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

创建array。

参数: object :array_like

一个数组,任何暴露数组接口的对象,

其剩余的__array__方法返回数组的对象,

或任何(嵌套的)序列。

dtype :data-type, 可选

数组所需的数据类型。如果没有给出,

则类型将被确定为保存序列中对象所需的最小类型。

copy :bool, 可选

如果为true(默认),则复制该对象。否则,

只有当剩余__array__ 返回副本时,如果obj是嵌套序列,

或者如果需要副本来满足其他任何要求(dtype, order,等等),

才会产生副本。

order{‘K’, ‘A’, ‘C’, ‘F’}, 可选

指定数组的内存布局。如果对象不是一个数组,

新创建的数组将是C顺序(行主格式),除非’F’被指定,

在这种情况下,它将是Fortran顺序(列主格式)。

如果对象是一个数组,则如下所示。

order   no copy        copy=True

‘K’        unchanged   保留F&C order, 否则最相似的order

‘A’         unchanged   如果输入是F而不是C,则为F order,

否则为C order

‘C’        C order         C order

‘F’         F order         F order

copy = False且由于其他原因进行复制时,

结果与copy = True相同,但A例外,请参见注释部分。

默认顺序为‘K’。

subokbool, 可选

如果为True,则将传递子类,否则,

返回的数组将被强制为基类数组(默认)。

ndmin:int, 可选

指定结果数组应具有的最小维数。

可以根据需要预先添加shape。

返回值: out :ndarray

满足指定要求的数组对象。

 

Notes

如果order为'A'并且object是既不是'C'也不是'F'的数组,并且由于dtype的改变而强制执行复制,则结果的顺序不一定是预期的'C'。 这可能是一个错误。

 

例子

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

Upcasting:

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

从子类创建数组:

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