Numpy Ravel v/s Numpy Flatten v/s Numpy Squeeze

Mohsin Shaikh
2 min readJul 18, 2023

Understanding the Differences: ravel(), flatten(), and squeeze() in NumPy

Introduction:

NumPy, a fundamental library for numerical computing in Python, provides powerful functions for manipulating multidimensional arrays. Three commonly used functions for reshaping arrays are ravel(), flatten(), and squeeze(). While these functions appear similar at first glance, they exhibit nuanced differences that are worth exploring. This article aims to elucidate the disparities between ravel(), flatten(), and squeeze() in NumPy.

ravel():

The ravel() function in NumPy returns a flattened view of the original array. Key points to consider include:

  • ravel() generates a one-dimensional array by unraveling the elements in row-major (C-style) order.
  • The resulting array is contiguous and shares the same data as the original array whenever possible.
  • Modifying the raveled array may affect the original array.
  • Example:

flatten():

The flatten() function, akin to ravel(), also produces a flattened copy of the original array. However, it ensures the resulting array is an independent, deep copy:

--

--

Mohsin Shaikh

A Data Scientist who reads data to bring valuable insights and bring Business from them.