Aggiunta di vettore in NumPy

Manav Narula 30 gennaio 2023
  1. Usa la funzione numpy.add() per eseguire l’aggiunta di vettori in NumPy
  2. Usa la funzione numpy.ndarray.__add__() per eseguire l’aggiunta di vettori in NumPy
  3. Usa l’operatore + per eseguire l’aggiunta di vettori in NumPy
  4. Cosa fare quando i due array non hanno le stesse dimensioni
Aggiunta di vettore in NumPy

Una matrice unidimensionale di elenchi può essere considerata un vettore. In Python, usiamo il modulo numpy per eseguire diverse operazioni sugli array.

In questo tutorial, discuteremo come eseguire l’aggiunta di vettori in Python.

Quando diciamo addizione vettoriale, ciò che significa è che aggiungeremo due array. Gli array devono essere della stessa lunghezza in tutti i metodi discussi di seguito; in caso contrario, viene sollevata un’eccezione ValueError.

Usa la funzione numpy.add() per eseguire l’aggiunta di vettori in NumPy

La funzione add() del modulo numpy può essere usata per aggiungere due array. Esegue l’addizione su array che hanno la stessa dimensione con gli elementi in ogni posizione corrispondente che vengono riassunti.

Per esempio,

import numpy as np

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

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

Produzione:

[4 4 4]

Usa la funzione numpy.ndarray.__add__() per eseguire l’aggiunta di vettori in NumPy

La funzione numpy.ndarray.__add__() viene utilizzata per aggiungere un valore a ogni elemento dell’array. Possiamo usarlo per eseguire l’aggiunta di vettori passando il secondo array a questa funzione.

Per esempio,

import numpy as np

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

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

Produzione:

[4 4 4]

Usa l’operatore + per eseguire l’aggiunta di vettori in NumPy

Possiamo eliminare l’uso di qualsiasi funzione semplicemente usando l’operatore aritmetico + per calcolare la somma di due array.

Per esempio,

import numpy as np

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

s = arr1 + arr2
print(s)

Produzione:

[4 4 4]

Cosa fare quando i due array non hanno le stesse dimensioni

È stato discusso in precedenza che tutti i metodi precedenti restituiranno ValueError se gli array non sono della stessa dimensione. In tali situazioni, possiamo riempire l’array più piccolo con 0 manualmente o usare la funzione numpy.pad() per eseguire normalmente l’addizione o creare una nostra funzione per eseguire l’addizione.

Vedi il codice qui sotto.

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

Produzione:

[4 4 1]

Quello che facciamo è copiare l’array più lungo e aggiungere gli elementi dell’array più piccolo all’array più lungo. Questo metodo consumerà molta memoria.

Autore: Manav Narula
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