numpy.ravel() in Python (original) (raw)

Last Updated : 23 Dec, 2024

The **numpy.ravel() functions returns contiguous flattened array(1D array with all the input-array elements and with the same type as it). A copy is made only if needed.
**Syntax :

numpy.ravel(array, order = 'C')

**Parameters :

**array : [array_like]Input array.
**order : [C-contiguous, F-contiguous, A-contiguous; optional]
C-contiguous order in memory(last index varies the fastest)
C order means that operating row-rise on the array will be slightly quicker
FORTRAN-contiguous order in memory (first index varies the fastest).
F order means that column-wise operations will be faster.
‘A’ means to read / write the elements in Fortran-like index order if,
array is Fortran contiguous in memory, C-like order otherwise

**Return :

Flattened array having same type as the Input array and and order as per choice.

**Code 1 : Shows that array.ravel is equivalent to reshape(-1, order=order)

Python `

Python Program illustrating

numpy.ravel() method

import numpy as geek

array = geek.arange(15).reshape(3, 5) print("Original array : \n", array)

Output comes like [ 0 1 2 ..., 12 13 14]

as it is a long output, so it is the way of

showing output in Python

print("\nravel() : ", array.ravel())

This shows array.ravel is equivalent to reshape(-1, order=order).

print("\nnumpy.ravel() == numpy.reshape(-1)") print("Reshaping array : ", array.reshape(-1))

`

**Output :

Original array :
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]]

ravel() : [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14]

numpy.ravel() == numpy.reshape(-1)
Reshaping array : [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14]

**Code 2 :Showing ordering manipulation

Python `

Python Program illustrating

numpy.ravel() method

import numpy as geek

array = geek.arange(15).reshape(3, 5) print("Original array : \n", array)

Output comes like [ 0 1 2 ..., 12 13 14]

as it is a long output, so it is the way of

showing output in Python

About :

print("\nAbout numpy.ravel() : ", array.ravel)

print("\nnumpy.ravel() : ", array.ravel())

Maintaining both 'A' and 'F' order

print("\nMaintains A Order : ", array.ravel(order = 'A'))

K-order preserving the ordering

'K' means that is neither 'A' nor 'F'

array2 = geek.arrange(12).reshape(2,3,2).swapaxes(1,2) print("\narray2 \n", array2) print("\nMaintains A Order : ", array2.ravel(order = 'K'))

`

**Output :

Original array :
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]]

About numpy.ravel() : <built-in method ravel of numpy.ndarray object at 0x000001F10F3F8930>

numpy.ravel() : [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14]

Maintains A Order : [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14]

array2
[[[ 0 2 4]
[ 1 3 5]]

[[ 6 8 10]
[ 7 9 11]]]

Maintains A Order : [ 0 1 2 3 4 5 6 7 8 9 10 11]

**Note :
These codes won’t run on online IDE’s. Please run them on your systems to explore the working.