numpy.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 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 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-ID. Please run them on your systems to explore the working

Last Updated on March 1, 2022 by admin

Leave a Reply

Your email address will not be published. Required fields are marked *

Recommended Blogs