Aggiunta di vettore in Numpy

  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

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.