Skip to content
Related Articles

Related Articles

Splitting Arrays in NumPy

View Discussion
Improve Article
Save Article
  • Last Updated : 10 May, 2020
View Discussion
Improve Article
Save Article

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 array
    a = 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 array
    a = 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]]])]


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!