numpy.ascontiguousarray#
- numpy.ascontiguousarray(a, dtype=None, *, like=None)#
返回内存中 (C 顺序) 的连续数组 (ndim >= 1).
- 参数:
- aarray_like
输入数组.
- dtypestr 或 dtype 对象,可选
返回数组的数据类型.
- like类数组,可选
引用对象,允许创建非 NumPy 数组的数组.如果作为
like传入的类数组支持__array_function__协议,则结果将由它定义.在这种情况下,它可以确保创建与通过此参数传入的对象兼容的数组对象.在 1.20.0 版本加入.
- 返回:
- outndarray
与 a 具有相同形状和内容的连续数组,如果指定了类型,则使用
dtype.
参见
asfortranarray将输入转换为具有列优先内存顺序的ndarray.
require返回满足要求的 ndarray.
ndarray.flags关于数组内存布局的信息.
示例
从 Fortran 连续数组开始:
>>> import numpy as np >>> x = np.ones((2, 3), order='F') >>> x.flags['F_CONTIGUOUS'] True
调用
ascontiguousarray会创建一个 C 连续副本:>>> y = np.ascontiguousarray(x) >>> y.flags['C_CONTIGUOUS'] True >>> np.may_share_memory(x, y) False
现在,从 C 连续数组开始:
>>> x = np.ones((2, 3), order='C') >>> x.flags['C_CONTIGUOUS'] True
然后,调用
ascontiguousarray返回相同的对象:>>> y = np.ascontiguousarray(x) >>> x is y True
注意:此函数返回至少一维 (1-d) 的数组,因此它不会保留 0-d 数组.