Sunday, November 17, 2024
Google search engine
HomeLanguagesnumpy.ravel() in Python

numpy.ravel() in Python

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]

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 Lazyroar 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 Lazyroar main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
 

RELATED ARTICLES

Most Popular

Recent Comments