# NumPy ravel() Function: A Step-by-Step Guide with Examples

In this blog post, we will delve into the numpy.ravel() function, exploring its purpose, syntax, and providing step-by-step examples to illustrate its usage.

## Understanding NumPy's ravel() Function:

The ravel() function in NumPy is used to flatten multi-dimensional arrays into a one-dimensional array. Essentially, it collapses the dimensions of an array, making it more manageable for certain operations. The syntax for numpy.ravel() is straightforward:

``numpy.ravel(array, order='C')``

Here, array is the input array that you want to flatten, and the optional order parameter determines the order in which the elements are read from the original array. The default is 'C' (row-wise), but you can also use 'F' (column-wise).

## Step-by-Step Examples:

### Basic Usage:

Let's start with a simple example to illustrate the basic usage of numpy.ravel().

``````
import numpy as np

# Create a 2D array
original_array = np.array([[11, 22, 3], [41, 53, 6]])

# Use ravel() to flatten the array
flattened_array = np.ravel(original_array)

print("Original Array:")
print(original_array)

print("\nFlattened Array:")
print(flattened_array)
``````

In this example, the ravel() function transforms a 2D array into a 1D array.

``````
Original Array:
[[11 22  3]
[41 53  6]]

Flattened Array:
[11 22  3 41 53  6]
``````

## Reshape with Different Order:

You can use the order parameter to change the order in which elements are read.

``````
import numpy as np

# Create a 2D array
original_array = np.array([[11, 22, 3], [41, 53, 6]])

# Use ravel() with order='F' to flatten in column-wise order
flattened_array_column = np.ravel(original_array, order='F')

print("Original Array:")
print(original_array)

print("\nFlattened Array (Column-wise):")
print(flattened_array_column)
``````

This example demonstrates how to flatten the array in column-wise order using order='F'.

``````
Original Array:
[[11 22  3]
[41 53  6]]

Flattened Array (Column-wise):
[11 41 22 53  3  6]
``````

## Flatten Multidimensional Array:

The ravel() function is not limited to 2D arrays; it can handle arrays with more dimensions as well.

``````
import numpy as np

# Create a 3D array
original_array = np.array([[[11, 25], [53, 14]], [[55, 86], [7, 8]]])

# Use ravel() to flatten the 3D array
flattened_array_3D = np.ravel(original_array)

print("Original 3D Array:")
print(original_array)

print("\nFlattened 1D Array:")
print(flattened_array_3D)
``````

This example showcases how ravel() handles a 3D array, turning it into a 1D array.

``````
Original 3D Array:
[[[11 25]
[53 14]]

[[55 86]
[ 7  8]]]

Flattened 1D Array:
[11 25 53 14 55 86  7  8]
``````