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 **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 **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 tutorial of Python Examples, we learned how to split a numpy array into smaller arrays using numpy.array_split() and numpy.split() functions.