⊕
⊖
Contents
NumPy – Split array into smaller arrays
To split a numpy array into smaller arrays, you can use the numpy function numpy.array_split().
The syntax to call array_split() function is
numpy.array_split(arr, n)
where
- arr is the array you want to split.
- n is the number of smaller arrays you want to split array arr into.
We can also use numpy.split() function. The syntax of split() function is
numpy.split(arr, indices, axis)
where
- arr is the array you want to split.
- indices are the indices at which you want to split the array arr.
- axis is the axis along which the split has to be done.
Examples
1. Split array into 4 smaller arrays
In the following program, we take a numpy array (one dimensional) of length 12, and split the array into 4 smaller arrays.
Python Program
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])
output = np.array_split(arr, 4)
print(output)
Run Code CopyOutput
[array([1, 2, 3]), array([4, 5, 6]), array([7, 8, 9]), array([10, 11, 12])]
2. Split array at specific indices
In the following program, we take a numpy array (one dimensional), and split the array at indices 3 and 7.
Python Program
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])
output = np.array_split(arr, [3, 7])
print(output)
Run Code CopyOutput
[array([1, 2, 3]), array([4, 5, 6, 7]), array([ 8, 9, 10, 11, 12])]
Explanation
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] <- arr
0 1 2 3 4 5 6 7 8 9 10 11 <- indices
|3 |7
[1, 2, 3][4, 5, 6, 7][8, 9, 10, 11, 12] <- splits
Summary
In this NumPy Tutorial , we learned how to split a numpy array into smaller arrays using numpy.array_split() and numpy.split() functions.