numpy.asanyarray#

numpy.asanyarray(a, dtype=None, order=None, *, device=None, copy=None, like=None)#

将输入转换为ndarray,但传递ndarray子类.

参数:
aarray_like

可以转换为数组的任何形式的输入数据.这包括标量,列表,元组列表,元组,元组的元组,列表的元组和ndarray.

dtypedata-type,可选

默认情况下,数据类型是从输入数据推断出来的.

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

内存布局.’A’和’K’取决于输入数组a的顺序.’C’行优先(C风格),’F’列优先(Fortran风格)内存表示.如果 a 是Fortran连续的,则’A’(任何)表示’F’,否则’C’ ‘K’(保留)保留输入顺序 默认为 ‘C’.

devicestr, optional

放置创建的数组的设备.默认值: None .仅用于 Array-API 互操作性,因此如果传递,则必须为 "cpu" .

在 2.1.0 版本加入.

copybool, 可选

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

在 2.1.0 版本加入.

likearray_like, optional

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

在 1.20.0 版本加入.

返回:
outndarray或ndarray子类

a 的数组解释.如果 a 是ndarray或ndarray的子类,则按原样返回,并且不执行复制.

参见

asarray

类似函数,始终返回ndarrays.

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