numpy.array#

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

创建一个数组.

参数:
objectarray_like

一个数组,任何暴露数组接口的对象,一个 __array__ 方法返回数组的对象,或者任何(嵌套的)序列.如果 object 是一个标量,则返回一个包含 object 的 0 维数组.

dtypedata-type,可选

数组所需的数据类型.如果未给出,NumPy 将尝试使用默认的 dtype 来表示这些值(必要时应用提升规则).

copybool, 可选

如果为 True (默认),则复制数组数据.如果为 None ,则只有在 __array__ 返回副本,如果 obj 是嵌套序列,或者如果需要副本才能满足任何其他要求( dtype , order 等)时,才会进行复制.请注意,数据的任何副本都是浅拷贝,即,对于具有 object dtype 的数组,新数组将指向相同的对象.有关示例,请参见 ndarray.copy .对于 False ,如果无法避免复制,则会引发 ValueError .默认值: True .

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

指定数组的内存布局.如果 object 不是数组,则除非指定 ‘F’,否则新创建的数组将采用 C 顺序(行优先),在这种情况下,它将采用 Fortran 顺序(列优先).如果 object 是数组,则以下内容成立.

order

没有副本

copy=True

‘K’

不变

保留 F & C 顺序,否则是最相似的顺序

‘A’

不变

如果输入是 F 而不是 C,则为 F 顺序,否则为 C 顺序

‘C’

C 顺序

C 顺序

‘F’

F 顺序

F 顺序

copy=None 并且由于其他原因进行复制时,结果与 copy=True 相同,但 ‘A’ 有一些例外,请参见“注释”部分.默认顺序为 ‘K’.

subokbool, 可选

如果为 True,则将传递子类;否则,返回的数组将被强制为基类数组(默认).

ndmin整数,可选

指定结果数组应具有的最小维数.将根据需要将 1 添加到形状的前面以满足此要求.

likearray_like, optional

参考对象以允许创建非NumPy数组的数组. 如果作为 like 传入的类数组支持 __array_function__ 协议,则结果将由它定义. 在这种情况下,它可以确保创建与通过此参数传入的数组对象兼容的数组对象.

在 1.20.0 版本加入.

返回:
outndarray

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

参见

empty_like

返回一个具有输入形状和类型的空数组.

ones_like

返回一个具有输入形状和类型的 1 数组.

zeros_like

返回一个具有输入形状和类型的 0 数组.

full_like

返回一个与输入数组形状相同,并使用给定值填充的新数组.

empty

返回一个新的未初始化的数组.

ones

返回一个将所有值设置为 1 的新数组.

zeros

返回一个将所有值设置为零的新数组.

full

返回一个给定形状并用指定值填充的新数组.

copy

返回给定对象的数组副本.

注释

当 order 为 ‘A’ 且 object 既不是 ‘C’ 也不是 ‘F’ 顺序的数组,并且由于 dtype 的更改而强制进行复制时,结果的顺序不一定是预期的 ‘C’.这可能是一个错误.

示例

>>> import numpy as np
>>> 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], dtype=int32)

从子类创建数组:

>>> np.array(np.asmatrix('1 2; 3 4'))
array([[1, 2],
       [3, 4]])
>>> np.array(np.asmatrix('1 2; 3 4'), subok=True)
matrix([[1, 2],
        [3, 4]])