×

Python Tutorial

Python Basics

Python I/O

Python Operators

Python Conditions & Controls

Python Functions

Python Strings

Python Modules

Python Lists

Python OOPs

Python Arrays

Python Dictionary

Python Sets

Python Tuples

Python Exception Handling

Python NumPy

Python Pandas

Python File Handling

Python WebSocket

Python GUI Programming

Python Image Processing

Python Miscellaneous

Python Practice

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

Example: What's the correct and efficient way to flatten NumPy array?

In this example, we have used the following Python basic topics that you should learn:

Python NumPy Programs »

Advertisement
Advertisement

Comments and Discussions!

Load comments ↻


Advertisement
Advertisement
Advertisement

Copyright © 2025 www.includehelp.com. All rights reserved.