Numpy Tutorial
Creating NumPy Array
NumPy Array Manipulation
Matrix in NumPy
Operations on NumPy Array
Reshaping NumPy Array
Indexing NumPy Array
Arithmetic operations on NumPy Array
Linear Algebra in NumPy Array
NumPy and Random Data
Sorting and Searching in NumPy Array
Universal Functions
Working With Images
Projects and Applications with NumPy
Splitting arrays is a commonly used operation in data processing, especially when dealing with large datasets. NumPy offers a range of functions to divide arrays into multiple sub-arrays. In this tutorial, we'll explore how to split arrays in NumPy.
Start by importing the NumPy library:
import numpy as np
numpy.split()
The split()
function divides an array into multiple sub-arrays.
arr = np.array([1, 2, 3, 4, 5, 6]) splitted = np.split(arr, 3) # Split into 3 equal-sized sub-arrays print(splitted)
Output:
[array([1, 2]), array([3, 4]), array([5, 6])]
You can also specify custom splitting points:
splitted = np.split(arr, [2, 4]) # Split after the second and fourth element print(splitted)
Output:
[array([1, 2]), array([3, 4]), array([5, 6])]
numpy.hsplit()
This function is used to split an array into multiple sub-arrays horizontally (column-wise).
arr_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) splitted = np.hsplit(arr_2d, 3) print(splitted)
Output:
[array([[1], [4], [7]]), array([[2], [4], [8]]), array([[3], [6], [9]])]
numpy.vsplit()
This function is used to split an array into multiple sub-arrays vertically (row-wise).
splitted = np.vsplit(arr_2d, 3) print(splitted)
Output:
[array([[1, 2, 3]]), array([[4, 5, 6]]), array([[7, 8, 9]])]
numpy.dsplit()
For arrays with three or more dimensions, you can use dsplit()
to split along the third axis.
arr_3d = np.arange(27).reshape(3, 3, 3) splitted = np.dsplit(arr_3d, 3) print(splitted)
array_split()
for Uneven Splitting:If you're trying to split an array into an unequal size, you can use array_split()
:
arr = np.array([1, 2, 3, 4, 5, 6]) splitted = np.array_split(arr, 5) print(splitted)
Output:
[array([1, 2]), array([3]), array([4]), array([5]), array([6])]
Use split()
for basic splitting. Define the number of equal parts or provide specific indices where the split should occur.
For 2D arrays, hsplit()
divides horizontally (column-wise), while vsplit()
divides vertically (row-wise).
For 3D arrays, use dsplit()
to split along the third dimension.
array_split()
is versatile and can handle uneven splitting.
Understanding how to efficiently split arrays in NumPy is essential, especially when working with large datasets. These functions give you flexibility in dividing arrays according to your requirements.
NumPy provides the numpy.split()
function to split arrays into multiple sub-arrays along a specified axis.
import numpy as np # Sample array original_array = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9]) # Split the array into three sub-arrays split_arrays = np.split(original_array, 3) print("Original Array:", original_array) print("Split Arrays:", split_arrays)
NumPy allows for various splitting techniques, including equal splitting, splitting at specific indices, and splitting along multiple axes.
# Equal splitting equal_split = np.split(original_array, 3) # Splitting at specific indices indices_split = np.split(original_array, [3, 6]) print("Equal Split:", equal_split) print("Indices Split:", indices_split)
Explore different splitting methods and examples, such as horizontal and vertical splitting.
# Horizontal splitting horizontal_split = np.hsplit(original_array.reshape(3, 3), 3) # Vertical splitting vertical_split = np.vsplit(original_array.reshape(3, 3), 3) print("Horizontal Split:", horizontal_split) print("Vertical Split:", vertical_split)
numpy.split()
function usage:The numpy.split()
function can take a sequence of indices or a number of equal divisions as an argument.
# Splitting with a sequence of indices split_indices = np.split(original_array, [2, 5]) # Splitting into equal parts equal_parts = np.split(original_array, 3) print("Split with Indices:", split_indices) print("Equal Parts:", equal_parts)
A complete sample code showcasing the use of numpy.split()
for array splitting.
# Sample array original_array = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9]) # Split the array into three sub-arrays split_arrays = np.split(original_array, 3) print("Original Array:", original_array) print("Split Arrays:", split_arrays)
Use numpy.split()
to split arrays along specified axes in multi-dimensional arrays.
# Multi-dimensional array original_array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # Split along the columns (axis=1) split_along_columns = np.split(original_array_2d, 3, axis=1) print("Original 2D Array:", original_array_2d) print("Split Along Columns:", split_along_columns)
Explore horizontal and vertical splitting using numpy.hsplit()
and numpy.vsplit()
.
# Horizontal splitting horizontal_split = np.hsplit(original_array_2d, 3) # Vertical splitting vertical_split = np.vsplit(original_array_2d, 3) print("Horizontal Split:", horizontal_split) print("Vertical Split:", vertical_split)
numpy
array splitting vs indexing:Compare array splitting with numpy.split()
to indexing for achieving similar results.
# Using numpy.split() split_result = np.split(original_array, [2, 5]) # Using indexing indexing_result = [original_array[:2], original_array[2:5], original_array[5:]] print("Numpy Split Result:", split_result) print("Indexing Result:", indexing_result)