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