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.
Submitted by Pranit Sharma, on March 09, 2023
Flattening a NumPy Array
Suppose that we are given a 2D NumPy array and we need to make this array flat. 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
Python NumPy Programs »