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
In this tutorial, we will explore how to split a NumPy array into multiple sub-arrays vertically (along the rows) using the vsplit
function and the more general split
function with an axis argument.
To begin with, you need to have NumPy imported:
import numpy as np
Vertical splitting of an array refers to dividing the array along its row axis. In simpler terms, if you have a 2D matrix, vertical splitting would mean dividing the matrix into smaller matrices, slicing across rows.
vsplit
:The vsplit
function is designed for vertical splitting. You provide the array and the indices where you want to split.
# Create a sample 2D array matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]) # Split the matrix into two equal parts vertically arrays = np.vsplit(matrix, 2) for arr in arrays: print(arr) print("---")
Output:
[[1 2 3] [4 5 6]] --- [[ 7 8 9] [10 11 12]] ---
split
with axis
Argument:The split
function is more general and can be used for both horizontal and vertical splits based on the axis
argument. For vertical splitting, set axis=0
.
# Split the matrix into two equal parts vertically arrays = np.split(matrix, 2, axis=0) for arr in arrays: print(arr) print("---")
This will give the same output as the vsplit
example above.
Both vsplit
and split
can also take a list of indices to perform uneven splits.
# Split the matrix after the first and third row arrays = np.vsplit(matrix, [1, 3]) for arr in arrays: print(arr) print("---")
Output:
[[1 2 3]] --- [[4 5 6] [7 8 9]] --- [[10 11 12]] ---
Ensure that the split points you choose result in even divisions for the array. For instance, if you have a 2D matrix with 5 rows, trying to split it equally into 2 parts using vsplit
would raise an error.
Vertical splitting in NumPy can be achieved with either vsplit
or the more general split
function with the right axis parameter. Knowing how to split arrays is invaluable, especially when processing large datasets or when trying to partition data for various computational tasks.
Splitting arrays vertically refers to dividing an array into multiple sub-arrays along the vertical axis.
import numpy as np # Create a NumPy array for vertical splitting array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # Perform vertical splitting using vsplit sub_arrays = np.vsplit(array, 3) print("Original Array:") print(array) print("\nVertically Split Sub-Arrays:") for sub_array in sub_arrays: print(sub_array)
Utilize numpy.vsplit
to split an array vertically into sub-arrays.
# Assuming 'array' is already defined # Perform vertical splitting using vsplit sub_arrays = np.vsplit(array, 3) print("Original Array:") print(array) print("\nVertically Split Sub-Arrays:") for sub_array in sub_arrays: print(sub_array)
Example code demonstrating vertical splitting of a NumPy array.
# Assuming 'array' is already defined # Perform vertical splitting using vsplit sub_arrays = np.vsplit(array, 3) print("Original Array:") print(array) print("\nVertically Split Sub-Arrays:") for sub_array in sub_arrays: print(sub_array)
Learn how to split a NumPy array by rows using vertical splitting.
# Assuming 'array' is already defined # Perform vertical splitting using vsplit sub_arrays = np.vsplit(array, 3) print("Original Array:") print(array) print("\nVertically Split Sub-Arrays:") for sub_array in sub_arrays: print(sub_array)
Sample code illustrating vertical splitting of a NumPy array.
# Assuming 'array' is already defined # Perform vertical splitting using vsplit sub_arrays = np.vsplit(array, 3) print("Original Array:") print(array) print("\nVertically Split Sub-Arrays:") for sub_array in sub_arrays: print(sub_array)
Understand the difference between vertical splitting (vsplit
) and horizontal splitting (hsplit
) in NumPy.
# Assuming 'array' is already defined # Perform vertical splitting using vsplit sub_arrays_vertical = np.vsplit(array, 3) # Perform horizontal splitting using hsplit sub_arrays_horizontal = np.hsplit(array, 3) print("Original Array:") print(array) print("\nVertically Split Sub-Arrays:") for sub_array in sub_arrays_vertical: print(sub_array) print("\nHorizontally Split Sub-Arrays:") for sub_array in sub_arrays_horizontal: print(sub_array)
Explore splitting a NumPy array into sub-arrays by columns using vertical splitting.
# Assuming 'array' is already defined # Perform vertical splitting using vsplit sub_arrays = np.vsplit(array, 3) print("Original Array:") print(array) print("\nVertically Split Sub-Arrays:") for sub_array in sub_arrays: print(sub_array)
Understand the usage of numpy.vsplit
for vertical splitting of arrays.
# Assuming 'array' is already defined # Perform vertical splitting using vsplit sub_arrays = np.vsplit(array, 3) print("Original Array:") print(array) print("\nVertically Split Sub-Arrays:") for sub_array in sub_arrays: print(sub_array)