numpy.array#

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

创建一个数组。

参数:
object类数组

一个数组,任何公开数组接口的对象,其 __array__ 方法返回数组的对象,或任何(嵌套的)序列。如果 object 是一个标量,则返回一个包含该 object 的 0 维数组。

dtype数据类型, 可选

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

copy布尔型, 可选

如果 True(默认值),则复制数组数据。如果为 None,则仅当 __array__ 返回一个副本、如果 obj 是嵌套序列,或者如果需要副本以满足任何其他要求(dtypeorder 等)时,才会创建副本。请注意,数据的任何副本都是浅复制,即对于具有 object dtype 的数组,新数组将指向相同的对象。参见 ndarray.copy 的示例。如果为 False 且无法避免复制,则会引发 ValueError。默认值:True

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

指定数组的内存布局。如果 object 不是数组,则新创建的数组将采用 C 顺序(行优先),除非指定 'F',在这种情况下它将采用 Fortran 顺序(列优先)。如果 object 是一个数组,则适用以下规则。

顺序

不复制

copy=True

‘K’

不变

F 和 C 顺序保留,否则采用最相似的顺序

‘A’

不变

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

‘C’

C 顺序

C 顺序

‘F’

F 顺序

F 顺序

copy=None 并且由于其他原因创建副本时,结果与 copy=True 的情况相同,但对于 ‘A’ 存在一些例外,请参见“注意事项”部分。默认顺序是 ‘K’。

subok布尔型, 可选

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

ndmin整型, 可选

指定结果数组应具有的最小维度数。如有需要,将 1 预加到形状中以满足此要求。

like类数组, 可选

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

版本 1.20.0 新增。

返回:
outndarray

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

另请参见

empty_like

返回一个与输入具有相同形状和类型的新空数组。

ones_like

返回一个与输入具有相同形状和类型的新全一数组。

zeros_like

返回一个与输入具有相同形状和类型的新全零数组。

full_like

返回一个与输入具有相同形状并填充指定值的新数组。

empty

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

ones

返回一个将值设置为 1 的新数组。

zeros

返回一个将值设置为 0 的新数组。

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