Dividir arrays en NumPy

La división de arrays puede ser vertical, horizontal o en profundidad. Podemos usar funciones hsplit(), vsplit()y dsplit()respectivamente para el mismo. Podemos dividir arreglos en arreglos de la misma forma indicando la posición después de la cual debe ocurrir la división.

  • División horizontal: la función ‘hsplit()’ divide una array a lo largo del parámetro del eje = 1. ‘numpy.hsplit’ es equivalente a  ‘split’  con  el parámetro del eje = 1 , la array siempre se divide a lo largo del segundo eje, independientemente de la dimensión de la array . Esta función divide una array en múltiples sub-arrays horizontalmente (en forma de columna).

    Sintaxis:

    numpy.hsplit(ary, indices_or_sections)

    Ejemplo:

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

    Producción:

     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]])]
  • División vertical: la función ‘vsplit()’ divide una array a lo largo del parámetro de eje = 0. ‘numpy.vsplit’ es equivalente a ‘split’ con parámetro de eje = 0 . Esta función divide una array en múltiples sub-arrays verticalmente (en filas).
    numpy.vsplit(ary, indices_or_sections)

    Ejemplo:

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

    Producción:

    La array [[0 1 2]
    [3 4 5]
    [6 7 8]] se divide verticalmente para formar [array([[0, 1, 2]]), array([[3, 4, 5]]) , arreglo([[6, 7, 8]])]
    El arreglo [[0 1 2]
    [3 4 5]
    [6 7 8]] se divide verticalmente para formar [arreglo([[0, 1, 2]] ), array ([[3, 4, 5]]), array ([[6, 7, 8]])]

  • División en profundidad: divide la array en múltiples sub-arrays a lo largo del tercer eje (profundidad).
    numpy.dsplit(ary, indices_or_sections)

    Ejemplo:

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

    Producción:

    La 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]]] se divide en profundidad para formar [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]]])]

Publicación traducida automáticamente

Artículo escrito por amalchandranmv y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *