numpy.asarray

numpy.asarray(a, dtype=None, order=None, *, like=None)[源代码]

将输入转换为数组。

参数
aarray_like

以任何可以转换为数组的形式输入数据。这包括列表、元组列表、元组、元组的元组、列表的元组和ndarrays。

dtype数据类型,可选

默认情况下,从输入数据推断数据类型。

order'C'、'F'、'A'、'K',可选

“内存布局。”“A”和“K”取决于输入数组A的顺序。“C”行主键(C样式)、“F”列主键(Fortran样式)内存表示形式A'(any)表示“F”,如果 a Fortran是连续的,'C'否则'K'(keep)保留输入顺序默认为'C'。

likearray_like

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

注解

这个 like 关键字是一个实验性的特性,有待接受 NEP 35 .

1.20.0 新版功能.

返回
out恩达雷

阵列解释 a . 如果输入已经是具有匹配数据类型和顺序的ndarray,则不执行复制。如果 a 是ndarray的子类,返回基类ndarray。

参见

asanyarray

通过子类传递的类似函数。

ascontiguousarray

将输入转换为连续数组。

asfarray

将输入转换为浮点Ndarray。

asfortranarray

将输入转换为具有列主内存顺序的ndarray。

asarray_chkfinite

检查NAN和INF输入的类似功能。

fromiter

从迭代器创建数组。

fromfunction

通过对网格位置执行函数来构造数组。

实例

将列表转换为数组:

>>> a = [1, 2]
>>> np.asarray(a)
array([1, 2])

不复制现有数组:

>>> a = np.array([1, 2])
>>> np.asarray(a) is a
True

如果 dtype 设置,仅当dtype不匹配时复制数组:

>>> a = np.array([1, 2], dtype=np.float32)
>>> np.asarray(a, dtype=np.float32) is a
True
>>> np.asarray(a, dtype=np.float64) is a
False

与…相反 asanyarray ,不传递ndarray子类:

>>> issubclass(np.recarray, np.ndarray)
True
>>> a = np.array([(1.0, 2), (3.0, 4)], dtype='f4,i4').view(np.recarray)
>>> np.asarray(a) is a
False
>>> np.asanyarray(a) is a
True