# numpy.ravel() in Python

• Difficulty Level : Medium
• Last Updated : 28 Mar, 2022

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.arrange(``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 ..., 12 13 14]

numpy.ravel() == numpy.reshape(-1)
Reshaping array :  [ 0  1  2 ..., 12 13 14]```

Code 2 :Showing ordering manipulation

## Python

 `# Python Program illustrating``# numpy.ravel() method` `import` `numpy as geek` `array ``=` `geek.arrange(``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]]

numpy.ravel() :  [ 0  1  2 ..., 12 13 14]

Maintains A Order :  [ 0  1  2 ..., 12 13 14]

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

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

Maintains A Order :  [ 0  1  2 ...,  9 10 11]```

References :
https://docs.scipy.org/doc/numpy-dev/reference/generated/numpy.ravel.html#numpy.ravel
Note :
These codes wonโt run on online IDE’s. Please run them on your systems to explore the working

This article is contributed by Mohit Gupta_OMG ๐. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.