# NumPy Splitting Array

## Splitting NumPy Arrays

Splitting is reverse operation of Joining.

Joining merges multiple arrays into one and Splitting breaks one array into multiple.

We use `array_split()` for splitting arrays, we pass it the array we want to split and the number of splits.

### Example

Split the array in 3 parts:

Try it Yourself »

Note: The return value is an array containing three arrays.

If the array has less elements than required, it will adjust from the end accordingly.

### Example

Split the array in 4 parts:

Try it Yourself »

Note: We also have the method `split()` available but it will not adjust the elements when elements are less in source array for splitting like in example above, `array_split()` worked properly but `split()` would fail.

The return value of the `array_split()` method is an array containing each of the split as an array.

If you split an array into 3 arrays, you can access them from the result just like any array element:

### Example

Access the splitted arrays:

Try it Yourself »

## Splitting 2-D Arrays

Use the same syntax when splitting 2-D arrays.

Use the `array_split()` method, pass in the array you want to split and the number of splits you want to do.

### Example

Split the 2-D array into three 2-D arrays.

Try it Yourself »

The example above returns three 2-D arrays.

Let’s look at another example, this time each element in the 2-D arrays contains 3 elements.

### Example

Split the 2-D array into three 2-D arrays.

Try it Yourself »

The example above returns three 2-D arrays.

In addition, you can specify which axis you want to do the split around.

The example below also returns three 2-D arrays, but they are split along the row (axis=1).

### Example

Split the 2-D array into three 2-D arrays along rows.

Try it Yourself »

An alternate solution is using `hsplit()` opposite of `hstack()`

### Example

Use the `hsplit()` method to split the 2-D array into three 2-D arrays along rows.

Try it Yourself »

Note: Similar alternates to `vstack()` and `dstack()` are available as `vsplit()` and `dsplit()`.