Skip to content
Related Articles

Related Articles

Splitting Arrays in NumPy
  • Last Updated : 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:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    # 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)))

    chevron_right

    
    

    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:



    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    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)))

    chevron_right

    
    

    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:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    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)))

    chevron_right

    
    

    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]]])]

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :