Numpy ravel() Function



The Numpy ravel() Function returns a flattened array by providing a 1-D array containing the same elements as the input but with only one dimension.

When compared to flatten() function the ravel() returns a flattened view of the input array whenever possible and if the input array is not contiguous then it returns a copy.

The ravel() Function is more memory efficient for certain operations. It accepts an order parameter which can be 'C', 'F', 'A' or 'K' to specify the desired order of the elements in the flattened array.

Syntax

The syntax for the Numpy ravel() function is as follows −

numpy.ravel(a, order='C')

Parameters

Following are the parameters of Numpy ravel() Function −

  • a (array_like): The elements in 'a' are read in row-major (C-style) order or column-major (Fortran-style) order depending on the order parameter.
  • order: {'C', 'F', 'A', 'K'}, optional :Specifies the order in which the elements are read.
    • 'C': Row-major (C-style) order.
    • 'F': Column-major (Fortran-style) order.
    • 'A': For row-major order if the array is stored in row-major memory order and column-major order otherwise.
    • 'K': The elements are read in the order they occur in memory, except for reversing the data when strides are negative.

Return Value

This function returns a 1-D array containing the elements of the input array in a flattened order.

Example 1

Following is the example of Numpy ravel() Function which shows the basic use of ravel() to flatten a 2D array into a 1D array in row-major order.

import numpy as np

# Creating a 2D array
array_2d = np.array([[1, 2, 3], [4, 5, 6]])

# Flattening the array
flattened_array = np.ravel(array_2d)

print("Original array:\n")
print(array_2d)
print("Flattened array:")
print(flattened_array)

Output

Original array:
 [[1 2 3]
  [4 5 6]]
Flattened array: [1 2 3 4 5 6]

Example 2

Here this example illustrates the use of numpy.ravel() function to flatten a 3D array into a 1D array, following the default row-major order.

import numpy as np

# Creating a 3D array
array_3d = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])

# Flattening the array
flattened_array_3d = np.ravel(array_3d)

print("Original 3D array:\n")
print(array_3d)
print("Flattened array:")
print(flattened_array_3d)

Output

Original 3D array:
 [[[1 2]
   [3 4]]

  [[5 6]
   [7 8]]]
Flattened array: [1 2 3 4 5 6 7 8]
numpy_array_manipulation.htm
Advertisements