NumPy Splitting Arrays
Splitting arrays in NumPy allows you to divide an array into multiple sub-arrays. This is useful for various data manipulation tasks. NumPy provides several functions to split arrays.
Splitting Arrays with split()
The numpy.split()
function splits an array into multiple sub-arrays as specified.
Example: Splitting a 1-D Array
import numpy as np
# Creating a 1-D array
arr = np.array([1, 2, 3, 4, 5, 6])
# Splitting the array into 3 sub-arrays
result = np.split(arr, 3)
print(result)
# Output: [array([1, 2]), array([3, 4]), array([5, 6])]
Example: Splitting a 2-D Array
import numpy as np
# Creating a 2-D array
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])
# Splitting the array into 2 sub-arrays along axis 0
result = np.split(arr, 2)
print(result)
# Output:
# [array([[1, 2, 3],
# [4, 5, 6]]), array([[ 7, 8, 9],
# [10, 11, 12]])]
Horizontal Split
The numpy.hsplit()
function splits an array into multiple sub-arrays horizontally (column-wise).
Example: Horizontal Split
import numpy as np
# Creating a 2-D array
arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
# Splitting the array into 2 sub-arrays horizontally
result = np.hsplit(arr, 2)
print(result)
# Output:
# [array([[1, 2],
# [5, 6]]), array([[3, 4],
# [7, 8]])]
Vertical Split
The numpy.vsplit()
function splits an array into multiple sub-arrays vertically (row-wise).
Example: Vertical Split
import numpy as np
# Creating a 2-D array
arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
# Splitting the array into 2 sub-arrays vertically
result = np.vsplit(arr, 2)
print(result)
# Output:
# [array([[1, 2, 3, 4]]), array([[5, 6, 7, 8]])]
Depth Split
The numpy.dsplit()
function splits an array into multiple sub-arrays along the third axis (depth).
Example: Depth Split
import numpy as np
# Creating a 3-D array
arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
# Splitting the array into 3 sub-arrays along the depth
result = np.dsplit(arr, 3)
print(result)
# Output:
# [array([[[ 1],
# [ 4]],
#
# [[ 7],
# [10]]]), array([[[ 2],
# [ 5]],
#
# [[ 8],
# [11]]]), array([[[ 3],
# [ 6]],
#
# [[ 9],
# [12]]])]
Conclusion
Splitting arrays in NumPy is an essential operation for data manipulation. Whether you’re splitting arrays horizontally, vertically, or along the depth, NumPy provides a variety of functions to efficiently divide arrays into sub-arrays.