Summary: in this tutorial, you’ll learn how to use the NumPy ravel()
to return a contiguous flattened array.
Introduction to the NumPy ravel() function #
The ravel()
function accepts an array and returns a 1-D array containing the elements of the input array:
numpy.ravel(a, order='C')
Code language: Python (python)
In this syntax:
a
is a numpy array. It can be any array-like object e.g., a list. An array-like object is an object that can be converted into a numpy array.order
specifies the order of elements. Check out theflatten()
method for detailed information on the order parameter and its values.
NumPy ravel() function example #
Let’s take some examples of using the ravel()
function.
1) Using NumPy ravel() function to flatten an array #
The following example uses the ravel()
function to flatten a 2-D array:
import numpy as np
a = np.array([[1, 2], [3, 4]])
b = np.ravel(a)
print(b)
Code language: Python (python)
Output:
[1 2 3 4]
Code language: Python (python)
How it works.
First, create a 2-D array:
a = np.array([[1, 2], [3, 4]])
Code language: Python (python)
Second, flatten the array using the ravel()
function:
b = np.ravel(a)
Code language: Python (python)
Third, display the array:
print(b)
Code language: Python (python)
2) ravel() function vs. flatten() method #
The flatten()
method creates a copy of an input array while the
function creates a view of the array. The ravel()
only makes a copy of an array if needed. For example:ravel()
import numpy as np
a = np.array([[1, 2], [3, 4]])
b = np.ravel(a)
# change element at index 0
b[0] = 0
# show both b & a array
print(b)
print(a)
Code language: Python (python)
How it works.
First, use the ravel()
function to create a view of the array a:
b = np.ravel(a)
Code language: Python (python)
Second, change the element from index 0 of the array b to zero:
b[0] = 0
Code language: Python (python)
Third, show both arrays a and b. Since array b is a view of array a, the change in array b is reflected in array a:
print(b)
print(a)
Code language: Python (python)
Another important difference between the
method and flatten()
function is that you can call the ravel()
method on a flatten()
ndarray
while you can call the
function on an array-like object.ravel()
Summary #
- Use the numpy
ravel()
function to return a contiguous flattened array.