bundles / numpy 2.4.4 / numpy / ravel
_ArrayFunctionDispatcher
numpy:ravel
Signature
def ravel ( a , order = C ) Summary
Return a contiguous flattened array.
Extended Summary
A 1-D array, containing the elements of the input, is returned. A copy is made only if needed.
As of NumPy 1.10, the returned array will have the same type as the input array. (for example, a masked array will be returned for a masked array input)
Parameters
a: array_likeInput array. The elements in
aare read in the order specified byorder, and packed as a 1-D array.order: {'C','F', 'A', 'K'}, optionalThe elements of
aare read using this index order. 'C' means to index the elements in row-major, C-style order, with the last axis index changing fastest, back to the first axis index changing slowest. 'F' means to index the elements in column-major, Fortran-style order, with the first index changing fastest, and the last index changing slowest. Note that the 'C' and 'F' options take no account of the memory layout of the underlying array, and only refer to the order of axis indexing. 'A' means to read the elements in Fortran-like index order ifais Fortran contiguous in memory, C-like order otherwise. 'K' means to read the elements in the order they occur in memory, except for reversing the data when strides are negative. By default, 'C' index order is used.
Returns
y: array_likey is a contiguous 1-D array of the same subtype as
a, with shape(a.size,). Note that matrices are special cased for backward compatibility, ifais a matrix, then y is a 1-D ndarray.
Notes
In row-major, C-style order, in two dimensions, the row index varies the slowest, and the column index the quickest. This can be generalized to multiple dimensions, where row-major order implies that the index along the first axis varies slowest, and the index along the last quickest. The opposite holds for column-major, Fortran-style index ordering.
When a view is desired in as many cases as possible, arr.reshape(-1) may be preferable. However, ravel supports K in the optional order argument while reshape does not.
Examples
It is equivalent to ``reshape(-1, order=order)``.import numpy as np x = np.array([[1, 2, 3], [4, 5, 6]]) np.ravel(x)✓
x.reshape(-1)
✓np.ravel(x, order='F')
✓np.ravel(x.T) np.ravel(x.T, order='A')✓
a = np.arange(3)[::-1]; a a.ravel(order='C') a.ravel(order='K')✓
a = np.arange(12).reshape(2,3,2).swapaxes(1,2); a
✗a.ravel(order='C') a.ravel(order='K')✓
See also
- ndarray.flat
1-D iterator over an array.
- ndarray.flatten
1-D array copy of the elements of an array in row-major order.
- ndarray.reshape
Change the shape of an array without changing its data.
Aliases
-
numpy.ravel