numpy.ascontiguousarray#
- numpy.ascontiguousarray(a, dtype=None, *, like=None)#
返回一个内存中连续的数组(ndim >= 1)(C 序)。
- 参数:
- a类数组对象
输入数组。
- dtype字符串或 dtype 对象,可选
返回数组的数据类型。
- likearray_like, optional
用于创建非 NumPy 数组的引荐对象。如果传入的
like支持__array_function__协议,则结果将由它定义。在这种情况下,它确保创建与通过此参数传入的数组兼容的数组对象。版本 1.20.0 中新增。
- 返回:
另请参阅
asfortranarray将输入转换为具有列主序内存的 ndarray。
要求返回一个满足要求的 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 数组。