Splitting Arrays in NumPy - GeeksforGeeks

10 May, 2020
Array splitting can be vertical, horizontal, or depth-wise. We can use functions hsplit(), vsplit() and dsplit() respectively for the same . We can split arrays into arrays of the same shape by indicating the position after which the split should occur.
Horizontal splitting: The ‘hsplit()’ function splits an array along axis parameter = 1. ‘numpy.hsplit’ is equivalent to ‘split’ with axis parameter = 1, the array is always splitted along the second axis regardless of the array dimension. This function split an array into multiple sub-arrays horizontally (column-wise).Syntax:numpy.hsplit(ary, indices_or_sections)Example:# Horizontal array splitting using np.hsplit()import numpy as np    # Making of  a 3x3 arraya = np.arange(9).reshape(3, 3)  # Horizontal splitting of array # 'a' using np.hsplit().print("The array {} gets splitted \horizontally to form {} ".format(a, np.hsplit(a, 3)))  # Horizontal splitting of array 'a' # using 'split' with axis parameter = 1.print("The array {} gets splitted \horizontally to form {} ".format(a, np.split(a, 3, 1)))Output: The array [[0 1 2]
 [3 4 5]
 [6 7 8]] gets splitted horizontally to form [array([[0],
       [3],
       [6]]), array([[1],
       [4],
       [7]]), array([[2],
       [5],
       [8]])] 
The array [[0 1 2]
 [3 4 5]
 [6 7 8]] gets splitted horizontally to form [array([[0],
       [3],
       [6]]), array([[1],
       [4],
       [7]]), array([[2],
       [5],
       [8]])]
Syntax:
numpy.hsplit(ary, indices_or_sections)
Example:
# Horizontal array splitting using np.hsplit()import numpy as np    # Making of  a 3x3 arraya = np.arange(9).reshape(3, 3)  # Horizontal splitting of array # 'a' using np.hsplit().print("The array {} gets splitted \horizontally to form {} ".format(a, np.hsplit(a, 3)))  # Horizontal splitting of array 'a' # using 'split' with axis parameter = 1.print("The array {} gets splitted \horizontally to form {} ".format(a, np.split(a, 3, 1)))
Output:
 The array [[0 1 2]
 [3 4 5]
 [6 7 8]] gets splitted horizontally to form [array([[0],
       [3],
       [6]]), array([[1],
       [4],
       [7]]), array([[2],
       [5],
       [8]])] 
The array [[0 1 2]
 [3 4 5]
 [6 7 8]] gets splitted horizontally to form [array([[0],
       [3],
       [6]]), array([[1],
       [4],
       [7]]), array([[2],
       [5],
       [8]])]
Vertical splitting: The ‘vsplit()’ function splits an array along axis parameter = 0.‘numpy.vsplit’ is equivalent to ‘split’ with axis parameter = 0. This function split an array into multiple sub-arrays vertically (row-wise).numpy.vsplit(ary, indices_or_sections)Example:import numpy as np    # Making of  a 3x3 arraya = np.arange(9).reshape(3, 3)  # Vertical splitting of array 'a'# using np.vsplit().print("The array {} gets splitted \vertically to form {} ".format(a, np.vsplit(a, 3)))  # Vertical splitting of array 'a' # using 'split' with axis parameter = 0.print("The array {} gets splitted \vertically to form {} ".format(a, np.split(a, 3, 0)))Output:The array [[0 1 2][3 4 5][6 7 8]] gets splitted vertically to form [array([[0, 1, 2]]), array([[3, 4, 5]]), array([[6, 7, 8]])]The array [[0 1 2][3 4 5][6 7 8]] gets splitted vertically to form [array([[0, 1, 2]]), array([[3, 4, 5]]), array([[6, 7, 8]])]
numpy.vsplit(ary, indices_or_sections)
Example:
import numpy as np    # Making of  a 3x3 arraya = np.arange(9).reshape(3, 3)  # Vertical splitting of array 'a'# using np.vsplit().print("The array {} gets splitted \vertically to form {} ".format(a, np.vsplit(a, 3)))  # Vertical splitting of array 'a' # using 'split' with axis parameter = 0.print("The array {} gets splitted \vertically to form {} ".format(a, np.split(a, 3, 0)))
Output:
The array [[0 1 2][3 4 5][6 7 8]] gets splitted vertically to form [array([[0, 1, 2]]), array([[3, 4, 5]]), array([[6, 7, 8]])]The array [[0 1 2][3 4 5][6 7 8]] gets splitted vertically to form [array([[0, 1, 2]]), array([[3, 4, 5]]), array([[6, 7, 8]])]
Depth-wise splitting: It Split the array into multiple sub-arrays along the 3rd axis (depth).numpy.dsplit(ary, indices_or_sections)Example:import numpy as np    # Making of  a 3x3x3 array.b = np.arange(27).reshape(3, 3, 3)  # Depth-wise splitting of array# 'b' using np.dsplit().print("The array {} gets splitted \depth-wise to form {}".format(b, np.dsplit(b, 3)))Output:The array [[[ 0 1 2][ 3 4 5][ 6 7 8]][[ 9 10 11][12 13 14][15 16 17]][[18 19 20][21 22 23][24 25 26]]] gets splitted depth-wise to form [array([[[ 0],[ 3],[ 6]],[[ 9],[12],[15]],[[18],[21],[24]]]), array([[[ 1],[ 4],[ 7]],[[10],[13],[16]],[[19],[22],[25]]]), array([[[ 2],[ 5],[ 8]],[[11],[14],[17]],[[20],[23],[26]]])]
numpy.dsplit(ary, indices_or_sections)
Example:
import numpy as np    # Making of  a 3x3x3 array.b = np.arange(27).reshape(3, 3, 3)  # Depth-wise splitting of array# 'b' using np.dsplit().print("The array {} gets splitted \depth-wise to form {}".format(b, np.dsplit(b, 3)))
Output:
The array [[[ 0 1 2][ 3 4 5][ 6 7 8]]
[[ 9 10 11][12 13 14][15 16 17]]
[[18 19 20][21 22 23][24 25 26]]] gets splitted depth-wise to form [array([[[ 0],[ 3],[ 6]],
[[ 9],[12],[15]],
[[18],[21],[24]]]), array([[[ 1],[ 4],[ 7]],
[[10],[13],[16]],
[[19],[22],[25]]]), array([[[ 2],[ 5],[ 8]],
[[11],[14],[17]],
[[20],[23],[26]]])]
Python numpy-arrayManipulation
Python-numpy
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
How to Install PIP on Windows ?
How to drop one or multiple columns in Pandas Dataframe
How To Convert Python Dictionary To JSON?
Check if element exists in list in Python
Python | Pandas dataframe.groupby()
Defaultdict in Python
Python | Get unique values from a list
Python Classes and Objects
Python | os.path.join() method
Create a directory in Python