Vektoraddition in NumPy

Manav Narula 30 Januar 2023
  1. Verwenden der Funktion numpy.add() zum die Vektoraddition in NumPy durchzuführen
  2. Verwenden der Funktion numpy.ndarray.__add__() zum die Vektoraddition in NumPy durchzuführen
  3. Verwenden den Operator + zum die Vektoraddition in NumPy durchzuführen
  4. Was tun, wenn die beiden Arrays nicht gleich groß sind?
Vektoraddition in NumPy

Ein eindimensionales Array von Listen kann als Vektor betrachtet werden. In Python verwenden wir das numpy-Modul, um verschiedene Operationen an Arrays auszuführen.

In diesem Tutorial werden wir diskutieren, wie die Vektoraddition in Python durchgeführt wird.

Wenn wir Vektoraddition sagen, bedeutet dies, dass wir zwei Arrays hinzufügen. Die Arrays müssen bei allen unten diskutierten Methoden gleich lang sein. Andernfalls wird ein ValueError ausgelöst.

Verwenden der Funktion numpy.add() zum die Vektoraddition in NumPy durchzuführen

Mit der Funktion add() aus dem numpy-Modul können zwei Arrays hinzugefügt werden. Es führt eine Addition über Arrays durch, die dieselbe Größe haben, wobei Elemente an jeder entsprechenden Position zusammengefasst werden.

Beispielsweise,

import numpy as np

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

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

Ausgabe:

[4 4 4]

Verwenden der Funktion numpy.ndarray.__add__() zum die Vektoraddition in NumPy durchzuführen

Mit der Funktion numpy.ndarray.__add__() wird jedem Element des Arrays ein Wert hinzugefügt. Wir können es verwenden, um eine Vektoraddition durchzuführen, indem wir das zweite Array an diese Funktion übergeben.

Beispielsweise,

import numpy as np

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

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

Ausgabe:

[4 4 4]

Verwenden den Operator + zum die Vektoraddition in NumPy durchzuführen

Wir können die Verwendung jeder Funktion eliminieren, indem wir einfach den arithmetischen Operator + verwenden, um die Summe zweier Arrays zu berechnen.

Beispielsweise,

import numpy as np

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

s = arr1 + arr2
print(s)

Ausgabe:

[4 4 4]

Was tun, wenn die beiden Arrays nicht gleich groß sind?

Es wurde bereits erläutert, dass alle oben genannten Methoden ValueError zurückgeben, wenn die Arrays nicht dieselbe Größe haben. In solchen Situationen können wir entweder das kleinere Array manuell mit Nullen füllen oder die Funktion numpy.pad() verwenden, um die Addition normal durchzuführen, oder unsere eigene Funktion erstellen, um die Addition durchzuführen.

Siehe den Code unten.

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

Ausgabe:

[4 4 1]

Wir kopieren das längere Array und fügen die Elemente des kleineren Arrays dem längeren Array hinzu. Diese Methode verbraucht viel Speicher.

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