Open In App

numpy.ravel() in Python

Last Updated : 08 Mar, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

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]]

About numpy.ravel() :  

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]

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

 



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads