Relleno Numpy

Vaibhhav Khetarpal 30 enero 2023
  1. Utilice la función NumPy.pad() para rellenar una matriz NumPy en Python
  2. Use la función shape() para rellenar una matriz NumPy en Python
Relleno Numpy

Python no permite el uso directo de matrices. Aquí es donde entra en juego la biblioteca NumPy, que hace posible manejar y manipular arreglos en Python.

Las matrices pueden ser de cualquier tamaño y dimensiones especificados. A veces, existe la necesidad de compensar las dimensiones de cualquier matriz en particular, y aquí es donde el relleno resulta útil.

El relleno, en términos simples, se refiere a agregar valores no informativos, generalmente ceros, a cualquier fila o columna cuando se habla de matrices. Se utiliza ampliamente para compensar la gran cantidad de filas o columnas en una matriz o matriz faltante.

Este tutorial demuestra cómo rellenar una matriz NumPy en Python. Por ejemplo, rellenaremos la matriz NumPy dada con ceros en este tutorial.

Utilice la función NumPy.pad() para rellenar una matriz NumPy en Python

Como sugiere el nombre, la función NumPy.pad() se utiliza para realizar la operación de relleno en las matrices NumPy.

La sintaxis de la función NumPy.pad() es la siguiente.

numpy.pad(array, pad_width, mode="constant", **kwargs)

Todos los parámetros de la función NumPy.pad() se han definido a continuación para facilitar la comprensión del lector.

  1. array: el parámetro especifica la matriz que debe rellenarse.

  2. pad_width - Especifica el número de valores que se agregarían a los bordes de todos los ejes. Las tuplas se utilizan para especificar el ancho de las matrices multidimensionales.

  3. mode: un parámetro opcional especifica el modo de la matriz.

  4. **kwargs: puede pasar una longitud de argumento de palabra clave variable dentro de una función. Es opcional mencionarlo, y puede leer más sobre esto en línea.

    Los ejemplos de este artículo no presentan el uso de este argumento.

Aquí, tomaremos un ejemplo de una matriz multidimensional, pero se puede hacer lo mismo con una matriz unidimensional ajustando un poco el código.

El siguiente código usa la función NumPy.pad() para rellenar una matriz NumPy en Python.

import numpy as np

x = np.array([[1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0]])
y = np.pad(x, [(0, 1), (0, 1)], mode="constant")
print(y)

El código anterior proporciona el siguiente resultado.

[[1. 1. 1. 1. 0.]
 [1. 1. 1. 1. 0.]
 [1. 1. 1. 1. 0.]
 [0. 0. 0. 0. 0.]]

Aquí, realizamos la operación de relleno en una matriz multidimensional para extender sus dimensiones a nuestro tamaño especificado.

Use la función shape() para rellenar una matriz NumPy en Python

Este es un método indirecto que también es capaz de lograr los mismos resultados que la función NumPy.pad(). La función shape() es otra de las funciones contenidas dentro de la biblioteca NumPy y se puede acceder después de importar esta biblioteca al código.

La función shape se utiliza para determinar las dimensiones de un arreglo o matriz dada.

Este método está un poco estirado, ya que crea una nueva matriz nula de las dimensiones deseadas según las necesidades del usuario y luego inserta la matriz original en la matriz nula recién creada. Logra los mismos resultados pero toma un camino diferente e indirecto en el viaje para llegar al resultado.

Además de la función shape(), este enfoque utiliza el método NumPy.zeros() para crear una matriz nula.

Para este enfoque, necesitamos una matriz de referencia cuyas dimensiones satisfagan la necesidad del relleno posterior de las dimensiones de destino del usuario, ya que primero tomamos la referencia de las dimensiones finales necesarias para crear la matriz nula.

El siguiente código usa la función shape() para rellenar una matriz NumPy en Python.

import numpy as np

x = np.array([[1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0]])
y = np.array(
    [
        [1.0, 1.0, 1.0, 1.0, 1.0],
        [1.0, 1.0, 1.0, 1.0, 1.0],
        [1.0, 1.0, 1.0, 1.0, 1.0],
        [1.0, 1.0, 1.0, 1.0, 1.0],
    ]
)
z = np.zeros(np.shape(y))
z[: x.shape[0], : x.shape[1]] = x
print(z)

El código anterior proporciona el siguiente resultado.

[[1. 1. 1. 1. 0.]
 [1. 1. 1. 1. 0.]
 [1. 1. 1. 1. 0.]
 [0. 0. 0. 0. 0.]]
Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn