codingstreets
Search
Close this search box.
python-numpy-splitting

Introduction to Python NumPy Splitting Array

In This Article, You Will Learn About Python NumPy Splitting.

Python Numpy Splitting – Before moving ahead, let’s know a little bit about Python NumPy Joining

Splitting is the reverse of joining.

Joining merges multiple arrays in one, and splitting breaks down one array into several.

For splitting arrays, array_split() is used. We pass the array to be split and the number of splits.

Example – Splitting the array into 4 parts.

import numpy as np

Array = np.array([11, 12, 13, 14, 15, 16, 17, 18])
updated_Array = np.array_split(Array, 4)

print( updated_Array )
Output - 

[array([11, 12]), array([13, 14]), array([15, 16]), array([17, 18])]

As shown above, it returned a split array into 4 pairs.

Note: If the array contains fewer elements than its requirement, then it adjusts elements from itself at the end.

Example – Splitting the array into 4 parts.

import numpy as np

Array = np.array([11, 12, 13, 14, 15, 16, 17])
updated_Array = np.array_split(Array, 4)

print(updated_Array)
Output -
 
[array([11, 12]), array([13, 14]), array([15, 16]), array([17])]

As a result, it returned a split array into 4 parts despite founding fewer elements than required to split.

Note: Only split() function is also used for splitting array but it will not adjust array by itself if elements are less than the requirement.

The array_split() return value is an array that contains each split as an array.

You can access an array by dividing it into three arrays, by Index number of arrays.

Example – Accessing the split arrays through array Index number.

import numpy as np

Array = np.array([1, 2, 3, 4, 5, 6, 7, 8])
updated_Array = np.array_split(Array, 4)

print(updated_Array[0])
print(updated_Array[1])
print(updated_Array[2])
print(updated_Array[3])
python-numpy-splitting

As can be seen, it returned arrays that were split according to their index number.

Split 2-D arrays with the same syntax.

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

Example – Splitting the 2-D array into four 2-D arrays.

import numpy as np

Array = np.array([[11, 12], [13, 14], [15, 16], [17, 18], [20, 21], [22, 23], [24, 25], [26, 27]])
updated_Array = np.array_split(Array, 4)

print(updated_Array)
Output -
 
[array([[11, 12],
       [13, 14]]), array([[15, 16],
       [17, 18]]), array([[20, 21],
       [22, 23]]), array([[24, 25],
       [26, 27]])]

As has been noticed, it returned 2-D arrays splitting into four pairs of 2-D arrays.

Let’s take another example. This time, each element in the 2-D arrays has 3 elements.

Example – Splitting the 2-D array into two pairs of 2-D arrays.

import numpy as np

Array = np.array([[11, 12, 13], [14, 15, 16], [17, 18, 19], [20, 21, 22]])
updated_Array = np.array_split(Array, 2)

print(updated_Array)
Output - 

[array([[11, 12, 13],
       [14, 15, 16]]), array([[17, 18, 19],
       [20, 21, 22]])]

Henceforth, it returned 2-D arrays splitting into 2 pairs of 2-D arrays each containing 3 elements.

You can also specify the axis that you would like to split.

The following example also returns two pairs of 2-D arrays. However, they are divided along the row (axis=1).

Example – Splitting the 2-D array into two pairs of 2-D arrays along rows.

import numpy as np

Array = np.array([[11, 12, 13], [14, 15, 16], [17, 18, 19], [20, 21, 22]]) 
updated_Array = np.array_split(Array, 2, axis=1)

print(updated_Array)
Output -

[array([[11, 12],
       [14, 15],
       [17, 18],
       [20, 21]]), array([[13],
       [16],
       [19],
       [22]])]

As a result, it returned 2-D arrays splitting into 2 pairs of 2-D arrays along rows.

Using another solution that’s hsplit() that’s opposite of hstack().

Example – Using the hsplit() method to split the 2-D array into three pairs of arrays along rows.

import numpy as np

Array = np.array([[11, 12, 13], [14, 15, 16], [17, 18, 19], [20, 21, 22]]) 
updated_Array = np.hsplit(Array, 3)

print(updated_Array)
Output -

[array([[11],
       [14],
       [17],
       [20]]), array([[12],
       [15],
       [18],
       [21]]), array([[13],
       [16],
       [19],
       [22]])]

As shown above, it returned split arrays into three pairs of arrays along rows.

If you find anything incorrect in the above-discussed topic and have any further questions, please comment below.

Like us on

Recent Post

Popular Post

Top Articles

Archives
Categories

Share on