Numpy array_split() Function



The Numpy array_split() function is used to split an array into multiple sub-arrays of approximately equal size along a specified axis. This function is a part of the numpy module and is flexible when dividing an array into sections, even if the array length does not divide evenly.

The two functions, numpy.array_split() and numpy.split(), are used for splitting the given array. The difference between these functions, is that numpy.array_split() can deal with arrays that cannot be divided evenly and does not raise an error at such times, whereas numpy.split() requires this division to be even and raises a ValueError in case of arrays that cannot be divided into even parts.

Syntax

Following is the syntax of the Numpy array_split() function −

numpy.array_split(array, indices_or_sections, axis=0)

Parameters

Following are the parameters of the Numpy array_split() function −

  • array - The array to be split.
  • indices_or_sections - If an integer, specifies the number of equal-sized sub-arrays to create. If a list, specifies the indices at which to split the array.
  • axis (optional) - The axis along which to split the array. The default is 0 (split along rows for 2D arrays).

Return Values

This function returns a list of sub-arrays created by splitting the original array along the specified axis.

Example

Following is a basic example that demonstrates splitting a 1D array into three sub-arrays using Numpy array_split() function −

import numpy as np
my_Array = np.array([1, 2, 3, 4, 5, 6, 7, 8])
split_Array = np.array_split(my_Array, 3)
print("Array -", my_Array)
print("Split Array -", split_Array)

Output

Following is the output of the above code −

Array - [1 2 3 4 5 6 7 8]
Split Array - [array([1, 2, 3]), array([4, 5, 6]), array([7, 8])]

Example - Splitting a 2D Array Along Columns

In the following example, we have split a 2D array into three sub-arrays along the columns by specifying the axis parameter as 1 in numpy.array_split()

import numpy as np
my_array = np.array([[10, 20, 30, 40], [50, 60, 70, 80]])
split_array = np.array_split(my_array, 3, axis=1)
print("Array -\n", my_array)
print("Split Array -", split_array)

Output

Following is the output of the above code −

Array -
 [[10 20 30 40]
  [50 60 70 80]]
Split Array - [array([[10, 20],
       [50, 60]]), array([[30],
       [70]]), array([[40],
       [80]])]

Example - Splitting a 2D Array Along Rows

Here, we have split a 2D array along the rows (axis=0) using numpy.array_split() to create uneven sub-arrays −

import numpy as np
my_array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])
split_array = np.array_split(my_array, 3, axis=0)
print("Array -\n", my_array)
print("Split Array -", split_array)

Output

The output of the above code is as follows:

Array -
 [[ 1  2  3]
  [ 4  5  6]
  [ 7  8  9]
  [10 11 12]]
Split Array - [array([[1, 2, 3],
       [4, 5, 6]]), array([[7, 8, 9]]), array([[10, 11, 12]])]

Example - Splitting at Specified Indices

We can also specify exact indices at which to split the array in the form of a list. Here, we split the array at indices 2 and 5 along a 1D array using numpy.array_split()

import numpy as np
my_array = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
split_array = np.array_split(my_array, [2, 5])
print("Array -", my_array)
print("Split Array -", split_array)

Output

Following is the output of the above code −

Array - [1 2 3 4 5 6 7 8 9]
Split Array - [array([1, 2]), array([3, 4, 5]), array([6, 7, 8, 9])]

Example - Handling Uneven Splits

When the array size does not divide evenly by the specified number of sections, numpy.array_split() ensures the last few sub-arrays may be smaller than others without raising an error −

import numpy as np
my_array = np.array([10, 20, 30, 40, 50])
split_array = np.array_split(my_array, 4)
print("Array -", my_array)
print("Split Array -", split_array)

Output

Following is the output of the above code −

Array - [10 20 30 40 50]
Split Array - [array([10, 20]), array([30]), array([40]), array([50])]
numpy_array_manipulation.htm
Advertisements
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy