ufuncs de NumPy

¿Qué son ufuncs?

Ufuncs se refiere a las 'funciones universales' (Universal Functions), que son funciones de NumPy que operan sobre objetos ndarray.

¿Por qué usar ufuncs?

Ufunc se utiliza para implementar vectorización en NumPy, lo que es mucho más rápido que iterar sobre los elementos.

También proporcionan广播 y otros métodos, como reducción, acumulación, etc., que son muy útiles para el cálculo.

Los ufunc también aceptan otros parámetros, como:

where Array de booleanos o condiciones, utilizado para definir dónde se debe realizar la operación.

dtype Definir el tipo de retorno de los elementos.

out El valor devuelto debe copiarse en el array de salida.

¿Qué es la vectorización?

Convertir instrucciones iterativas en operaciones basadas en vectores se llama vectorización.

Dado que los CPU modernos han sido optimizados para este tipo de operaciones, son más rápidas.

Sumar elementos de dos listas:

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

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

Una manera es recorrer dos listas y sumar cada elemento.

Ejemplo

Si no hay ufunc, podemos usar la función integrada de Python zip() Método:

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

Ejecutar ejemplo

Para esto, NumPy tiene un ufunc llamado add(x, y)que producirá el mismo resultado.

Ejemplo

A través de ufunc, podemos usar add() Función:

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

Ejecutar ejemplo