上一主题

numpy.array

下一主题

numpy.asanyarray

numpy.asarray

numpy.asarray(a, dtype=None, order=None)[source]

将输入转换为数组。

参数:

a:array_like

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

dtype:数据类型,可选

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

order:{'C','F'},可选

使用以行为主(C风格)还是以列为主(Fortran风格)的内存表示。默认为'C'。

返回:

out:ndarray

a的数组解释。如果输入已经是ndarray,则不执行复制。如果a是ndarray的子​​类,则返回基类ndarray。

另见

asanyarray
类似的函数,子类可以原样返回。
ascontiguousarray
将输入转换为连续数组。
asfarray
将输入转换为浮点数。
asfortranarray
将输入转换为具有列主存储器顺序的ndarray。
asarray_chkfinite
检查NaN和Infs的输入的类似函数。
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.matrix, np.ndarray)
True
>>> a = np.matrix([[1, 2]])
>>> np.asarray(a) is a
False
>>> np.asanyarray(a) is a
True