# np.ravel: What is Numpy ravel() Function in Python

The ravel() function is used for returning a 1D array containing all the elements of the n-dimensional input array. If you want to flatten the array, use the numpy ravel() function.

## np.ravel

The np.ravel() function helps us create multidimensional arrays and derive other mathematical statistics. To flatten an array, use the numpy ravel() function. For example, the ravel(array, order = ‘C’) function returns a contiguous flattened array(1D array with all the input-array elements and with the same type as it). A copy is made only if needed.

### Syntax

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

### Parameters

• a: This parameter depicts the Input array in which the elements are read in the order specified by an order which gets further packed as a 1D array.
• order: The order argument can be either C_contiguous or F_contiguous, where C order operates row-rise on the array, and F order operates the column-wise operations.

### Return Value

Numpy ravel() function returns the 1D array containing all the elements of input array with shape (a.size ()).

### Examples

Program to show the working of ravel function.

```import numpy as np

arr = np.arange(6).reshape(3, 2)
print('The original array:')
print(arr, "\n")
print('After applying ravel function:')
print(arr.ravel())

#Maintaining F order
print('ravel function in F-style ordering:')
print(arr.ravel(order='F'))

#K-order preserving the ordering
print("\nnumpy.ravel() function in K-style ordering: ", arr.ravel(order='K'))
```

#### Output

```The original array:
[[0 1]
[2 3]
[4 5]]

After applying ravel function:
[0 1 2 3 4 5]
ravel function in F-style ordering:
[0 2 4 1 3 5]

numpy.ravel() function in K-style ordering:  [0 1 2 3 4 5]```

#### Explanation

Here, in the above code, the 1st function was used to create a 1D array in which no order was given due to which K type of order was used by default.

2nd function was used to create a 1D array in which F-style ordering was used in which elements are inserted in the array column-wise.

3rd function was used to create a 1D array in which F-style ordering was used in which elements are inserted in the array row-wise.

See the following second code.

```import numpy as np

arr = np.arange(6).reshape(3, 2)
print("Array: \n", arr)

# calling the numpy.ravel() function
print("\nravel() value: ", arr.ravel())

# ravel() is equivalent to reshape(-1, order=order).
print("\nnumpy.ravel() == numpy.reshape(-1)")
print("Reshaping array : ", arr.reshape(-1))```

#### Output

```Array:
[[0 1]
[2 3]
[4 5]]

ravel() value:  [0 1 2 3 4 5]

numpy.ravel() == numpy.reshape(-1)
Reshaping array :  [0 1 2 3 4 5]```

#### Explanation

Here, in the above code, the 1st function was used to create a 1D array in which no order was given due to which K type of order was used by default.

2nd function was used to create a 1D array using reshape function in which (-1) was passed as an argument that behaves equally as of K type order in the ravel function.

## Conclusion

Numpy ravel() function returns the flattened one-dimensional array. The copy is made only if needed. The returned array will have the same type as that of an input array.