Home » 
        Python » 
        Python Programs
    
    
    What's the correct and efficient way to flatten NumPy array?
    
    
    
    
	    Learn about the correct and efficient way to flatten NumPy array.
	    
		    By Pranit Sharma Last updated : December 26, 2023
	    
    
    Problem statement
    Suppose that we are given a 2D NumPy array and we need to make this array flat.
    Flattening a NumPy Array
    We can use different approaches to flatten an array like using flatten() function on a casted list but it is inefficient because we need to cast the array into a list first.
    But in NumPy, we have two methods i.e., numpy.flatten() and numpy.ravel(). Both return a 1-d array from an n-d array.
    Also, if we do not want to modify the returned 1-d array, it is recommended to use numpy.ravel(), since it does not make a copy of the array, but just returns a view of the array, which is much faster than numpy.flatten.
    Let us understand with the help of an example,
    
    Python code to flatten NumPy array
# Import numpy
import numpy as np
# Creating a numpy array
arr = np.arange(100).reshape((10,10))
# Display Original array
print("Original array:\n",arr,"\n\n")
# Using arr.flatten
res = arr.flatten()
# Display result
print("Flatten Result:\n",res,"\n\n")
# Using arr.ravel
res = arr.ravel()
# Display result
print("Ravel Result:\n",res)
    Output
    
    In this example, we have used the following Python basic topics that you should learn:
    
    Python NumPy Programs »
    
    
    
    
    
  
    Advertisement
    
    
    
  
  
    Advertisement