numpy.ascontiguousarray#
- numpy.ascontiguousarray(a, dtype=None, *, like=None)#
Return a contiguous array (ndim >= 1) in memory (C order).
- Parameters:
- aarray_like
Input array.
- dtypestr or dtype object, optional
Data-type of returned array.
- likearray_like, optional
Reference object to allow the creation of arrays which are not NumPy arrays. If an array-like passed in as
like
supports the__array_function__
protocol, the result will be defined by it. In this case, it ensures the creation of an array object compatible with that passed in via this argument.New in version 1.20.0.
- Returns:
- outndarray
Contiguous array of same shape and content as a, with type
dtype
if specified.
See also
asfortranarray
Convert input to an ndarray with column-major memory order.
require
Return an ndarray that satisfies requirements.
ndarray.flags
Information about the memory layout of the array.
Examples
Starting with a Fortran-contiguous array:
>>> import numpy as np >>> x = np.ones((2, 3), order='F') >>> x.flags['F_CONTIGUOUS'] True
Calling
ascontiguousarray
makes a C-contiguous copy:>>> y = np.ascontiguousarray(x) >>> y.flags['C_CONTIGUOUS'] True >>> np.may_share_memory(x, y) False
Now, starting with a C-contiguous array:
>>> x = np.ones((2, 3), order='C') >>> x.flags['C_CONTIGUOUS'] True
Then, calling
ascontiguousarray
returns the same object:>>> y = np.ascontiguousarray(x) >>> x is y True
Note: This function returns an array with at least one-dimension (1-d) so it will not preserve 0-d arrays.