numpy.array#
- numpy.array(object, dtype=None, *, copy=True, order='K', subok=False, ndmin=0, like=None)#
创建数组。
- 参数:
- objectarray_like
数组、任何公开数组接口的对象、其
__array__
方法返回数组的对象,或任何(嵌套)序列。如果 object 是标量,则返回包含 object 的 0 维数组。- dtype数据类型,可选
数组所需的数据类型。如果未给出,NumPy 将尝试使用可以表示这些值的默认
dtype
(必要时应用提升规则)。- copy布尔值,可选
如果为
True
(默认值),则复制数组数据。如果为None
,则仅当__array__
返回副本、obj 是嵌套序列或需要复制以满足任何其他要求(dtype
、order
等)时才会进行复制。请注意,任何数据的复制都是浅复制,即对于具有对象 dtype 的数组,新数组将指向相同的对象。有关示例,请参阅ndarray.copy
。对于False
,如果无法避免复制,则会引发ValueError
。默认值:True
。- order{'K'、'A'、'C'、'F'},可选
指定数组的内存布局。如果 object 不是数组,则新创建的数组将按 C 顺序(行主序)排列,除非指定 'F',在这种情况下,它将按 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'。- subok布尔值,可选
如果为 True,则子类将被传递,否则返回的数组将强制为基类数组(默认值)。
- ndmin整数,可选
指定结果数组应具有的最小维度数。根据需要将 1 预置到形状中以满足此要求。
- likearray_like,可选
参考对象,允许创建非 NumPy 数组的数组。如果作为
like
传入的类数组支持__array_function__
协议,则结果将由其定义。在这种情况下,它确保创建与通过此参数传入的数组对象兼容的数组对象。版本 1.20.0 中的新功能。
- 返回值:
- outndarray
满足指定要求的数组对象。
另请参阅
empty_like
返回一个形状和类型与输入相同的空数组。
ones_like
返回一个形状和类型与输入相同的全 1 数组。
zeros_like
返回一个形状和类型与输入相同的全 0 数组。
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])
从子类创建数组
>>> 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]])