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’}, optional

输出的内存布局。'C' 表示行主序布局(C 风格),'F' 表示列主序布局(Fortran 风格)。'C' 和 'F' 在需要时会复制以确保输出格式。'A'(任意)等同于 'F',如果输入 a 是非连续的或 Fortran 连续的,否则等同于 'C'。与 'C' 或 'F' 不同,'A' 不保证结果是连续的。'K'(保留)会保留输入的顺序用于输出。默认是 'C'。

devicestr,可选

创建的数组所在的设备。默认为 None。仅用于 Array-API 互操作性,因此如果传递,必须是 "cpu"

新版本: 2.1.0。

copybool, optional

如果 True,则复制该对象。如果 None,则仅在需要时复制该对象,即如果 __array__ 返回副本,如果 obj 是嵌套序列,或者需要副本以满足其他任何要求(dtypeorder 等)。对于 False,如果无法避免复制,它会引发 ValueError。默认值:None

新版本: 2.1.0。

likearray_like, optional

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

版本 1.20.0 中新增。

返回:
outndarray 或 ndarray 子类

输入 a 的数组解释。如果 a 是 ndarray 或 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