Suma de vectores en NumPy

Manav Narula 30 enero 2023
  1. Utilice la función numpy.add() para realizar la suma de vectores en NumPy
  2. Utilice la función numpy.ndarray.__add__() para realizar la suma de vectores en NumPy
  3. Utilice el operador + para realizar la suma de vectores en NumPy
  4. Qué hacer cuando las dos matrices no son del mismo tamaño
Suma de vectores en NumPy

un array unidimensional de listas se puede considerar un vector. En Python, usamos el módulo numpy para realizar diferentes operaciones en matrices.

En este tutorial, discutiremos cómo realizar la suma de vectores en Python.

Cuando decimos suma de vectores, lo que significa es que sumaremos dos matrices. Las matrices deben tener la misma longitud en todos los métodos que se describen a continuación; de lo contrario, se genera un ValueError.

Utilice la función numpy.add() para realizar la suma de vectores en NumPy

La función add() del módulo numpy se puede utilizar para añadir dos matrices. Realiza sumas sobre matrices que tienen el mismo tamaño con elementos en cada posición correspondiente que se resumen.

Por ejemplo,

import numpy as np

arr1 = np.array([3, 2, 1])
arr2 = np.array([1, 2, 3])

s = np.add(arr1, arr2)
print(s)

Producción :

[4 4 4]

Utilice la función numpy.ndarray.__add__() para realizar la suma de vectores en NumPy

La función numpy.ndarray.__add__() se usa para agregar algún valor a cada elemento del array. Podemos usarlo para realizar la suma de vectores pasando la segunda matriz a esta función.

Por ejemplo,

import numpy as np

arr1 = np.array([3, 2, 1])
arr2 = np.array([1, 2, 3])

s = arr1.__add__(arr2)
print(s)

Producción :

[4 4 4]

Utilice el operador + para realizar la suma de vectores en NumPy

Podemos eliminar el uso de cualquier función simplemente usando el operador aritmético + para calcular la suma de dos matrices.

Por ejemplo,

import numpy as np

arr1 = np.array([3, 2, 1])
arr2 = np.array([1, 2, 3])

s = arr1 + arr2
print(s)

Producción :

[4 4 4]

Qué hacer cuando las dos matrices no son del mismo tamaño

Se ha comentado anteriormente que todos los métodos anteriores devolverán ValueError si las matrices no son del mismo tamaño. Para tales situaciones, podemos llenar el array más pequeña con ceros manualmente o usar la función numpy.pad() para realizar la suma normalmente o crear nuestra propia función para realizar la suma.

Vea el código a continuación.

import numpy as np

a = np.array([3, 2, 1])
b = np.array([1, 2])


def unequal_add(a, b):
    if len(a) < len(b):
        c = b.copy()
        c[: len(a)] += a
    else:
        c = a.copy()
        c[: len(b)] += b
    return c


print(unequal_add(a, b))

Producción :

[4 4 1]

Lo que hacemos es copiar el array más larga y agregar los elementos del array más pequeña a el array más larga. Este método consumirá mucha memoria.

Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn