numpy.ascontigiousarray #

麻木的。ascontigiousarray ( a , dtype = None , * , like = None ) #

返回内存中的连续数组 (ndim >= 1)(C 顺序)。

参数
类似数组

输入数组。

dtype str 或 dtype object,可选

返回数组的数据类型。

类似array_like,可选

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

1.20.0 版本中的新增功能。

返回
输出数组

与a具有相同形状和内容的连续数组,dtype 如果指定则具有类型。

也可以看看

asfortranarray

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

require

返回满足要求的ndarray。

ndarray.flags

有关阵列内存布局的信息。

例子

从 Fortran 连续数组开始:

>>> 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 数组。