numpy.asanyarray#
- numpy.asanyarray(a, dtype=None, order=None, *, device=None, copy=None, like=None)#
将输入转换为 ndarray,但 ndarray 子类会直接通过。
- 参数:
- a数组类对象
输入数据,可以是任何可转换为数组的形式。这包括标量、列表、元组列表、元组、元组的元组、列表的元组和 ndarray。
- dtype数据类型,可选
默认情况下,数据类型会从输入数据中推断。
- order{‘C’, ‘F’, ‘A’, ‘K’},可选
内存布局。'A' 和 'K' 取决于输入数组 a 的顺序。'C' 行主序(C 风格),'F' 列主序(Fortran 风格)内存表示。'A'(任意)表示如果 a 是 Fortran 连续的则为 'F',否则为 'C'。'K'(保持)保留输入顺序。默认为 'C'。
- device字符串,可选
放置所创建数组的设备。默认值:
None
。仅用于数组 API 互操作性,因此如果传入,必须是"cpu"
。2.1.0 版本新增。
- copy布尔值,可选
如果为
True
,则复制对象。如果为None
,则仅在需要时复制对象,即如果__array__
返回副本,如果 obj 是嵌套序列,或者需要复制以满足任何其他要求(dtype
、order
等)。如果为False
且无法避免复制,则会引发ValueError
。默认值:None
。2.1.0 版本新增。
- like数组类对象,可选
参考对象,允许创建非 NumPy 数组的数组。如果作为
like
传入的数组类对象支持__array_function__
协议,则结果将由其定义。在这种情况下,它确保创建与通过此参数传入的对象兼容的数组对象。1.20.0 版本新增。
- 返回:
- outndarray 或 ndarray 子类
a 的数组解释。如果 a 是 ndarray 或其子类,则原样返回,不执行复制。
另请参阅
asarray
总是返回 ndarray 的类似函数。
ascontiguousarray
将输入转换为连续数组。
asfortranarray
将输入转换为列主序内存排列的 ndarray。
asarray_chkfinite
检查输入中是否有 NaN 和 Inf 的类似函数。
fromiter
从迭代器创建数组。
fromfunction
通过在网格位置执行函数来构造数组。
示例
将列表转换为数组
>>> a = [1, 2] >>> import numpy as np >>> np.asanyarray(a) array([1, 2])
ndarray
子类的实例会直接通过>>> a = np.array([(1., 2), (3., 4)], dtype='f4,i4').view(np.recarray) >>> np.asanyarray(a) is a True