Ufunc NumPy

Cos'è ufunc?

Ufunc si riferisce a “funzioni universali” (Universal Functions), che sono funzioni NumPy che operano sugli oggetti ndarray.

Perché utilizzare ufunc?

Ufunc è utilizzato per implementare la vectorizzazione in NumPy, che è molto più veloce rispetto all'iterazione degli elementi.

Forniscono anche广播和其他 metodi, come riduzione, somma, ecc., molto utili per i calcoli.

Ufunc accetta anche altri parametri, come:

where Array di valori booleani o condizioni, utilizzati per definire dove eseguire l'operazione.

dtype Definire il tipo di ritorno degli elementi.

out Il valore di ritorno deve essere copiato nell'array di output specificato.

Cos'è la vettorizzazione?

Convertire istruzioni iterative in operazioni basate su vettori si chiama vettorizzazione.

Poiché i moderni CPU sono ottimizzati per questo tipo di operazione, è più veloce.

Aggiungi gli elementi di due elenchi:

Elenco 1: [1, 2, 3, 4]

Elenco 2: [4, 5, 6, 7]

Un metodo è quello di esplorare due elenchi e sommare ogni elemento.

Esempio

Se non ci sono ufunc, possiamo utilizzare la funzione integrata di Python zip() Metodo:

x = [1, 2, 3, 4]
y = [4, 5, 6, 7]
z = []
for i, j in zip(x, y):
  z.append(i + j)
print(z)

Esegui esempio

Per questo, NumPy ha un ufunc chiamato add(x, y)e produrrà lo stesso risultato.

Esempio

Tramite ufunc, possiamo utilizzare add() Funzione:

import numpy as np
x = [1, 2, 3, 4]
y = [4, 5, 6, 7]
z = np.add(x, y)
print(z)

Esegui esempio