# Split Array into Smaller Arrays – NumPy

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 Copy

Output

``[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 Copy

Output

``[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.

## Related Tutorials

Code copied to clipboard successfully 👍