AppDividend
Latest Code Tutorials

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

Numpy ravel() helps us to create multidimensional arrays and derive other mathematical statistics. 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, then use the numpy ravel() function.

np.ravel

To flatten the array, use the numpy ravel() function. 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 ordering 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.