Summary: in this tutorial, you’ll learn how to use the numpy flatten()
method to return a copy of an array collapsed into one dimension.
Introduction to the NumPy flatten() method
The
is a method of the flatten()
ndarray
class. The
method returns a copy of an array collapsed into one dimension.flatten()
The following shows the syntax of the flatten()
method:
ndarray.flatten(order='C')
Code language: Python (python)
The order parameter specifies the order of elements of an array in the returned array. It accepts one of the following values:
- ‘C’ means to flatten array elements into row-major order (C-style).
- ‘F’ means to flatten array elements into column-major order (Fortran-style).
- ‘A’ – means to flatten array elements in column-major order if a is Fortran contiguous in memory or row-major otherwise.
- ‘K’ means to flatten array elements in order of the elements laid out in memory.
By default, the order is ‘C’ which flattens the array elements into row-major.
NumPy flatten() method examples
Let’s take some examples of using the NumPy flatten()
method.
1) Using flatten() method example with a multidimensional array
The following example uses the flatten()
method to return a 1-D array from a 2-D array:
import numpy as np
a = np.array([[1, 2], [3, 4]])
b = a.flatten()
print(b)
Code language: Python (python)
Output:
[1 2 3 4]
Code language: Python (python)
How it works.
First, create a 2-D array that has two rows and two columns:
a = np.array([[1, 2], [3, 4]])
Code language: Python (python)
Second, return a copy of the array with dimensions collapsed into one using the flatten()
method:
b = a.flatten()
Code language: Python (python)
Third, display the result array:
print(b)
Code language: Python (python)
Note that b is a copy, not a view of the array a. If you change elements in array b, the elements in array a are not changed. For example:
import numpy as np
a = np.array([[1, 2], [3, 4]])
b = a.flatten()
# change element at index 0
b[0] = 0
print(b)
# display the array a
print(a)
Code language: Python (python)
Output:
[0 2 3 4]
[[1 2]
[3 4]]
Code language: Python (python)
In this example:
First, flatten the array a and assign the result array to b variable:
b = a.flatten()
Code language: Python (python)
Second, change the element at index 0 of b to zero and print out b:
b[0] = 0
print(b)
Code language: Python (python)
Third, display the array a:
print(a)
Code language: Python (python)
The output shows that the element at index 0 of b changes but the element at index 0 of a doesn’t change.
2) Using numpy flatten() method to flatten an array using column-major order
The following example uses the numpy flatten()
method to flatten an array using column-major order:
import numpy as np
a = np.array([[1, 2], [3, 4]])
b = a.flatten(order='F')
print(b)
Code language: Python (python)
Output:
[1 3 2 4]
Code language: Python (python)
Summary
- Use the numpy array
flatten()
method to return a copy of an array collapsed into one dimension.