ufuncs NumPy


Que sont les ufuncs ?

ufuncs signifie "Fonctions universelles" et ce sont des fonctions NumPy qui opèrent sur l' ndarrayobjet.

Pourquoi utiliser ufuncs ?

Les ufuncs sont utilisés pour implémenter la vectorisation dans NumPy, ce qui est bien plus rapide que l'itération sur les éléments.

Ils fournissent également des méthodes de diffusion et supplémentaires telles que réduire, accumuler, etc. qui sont très utiles pour le calcul.

ufuncs prend également des arguments supplémentaires, comme :

where tableau booléen ou condition définissant où les opérations doivent avoir lieu.

dtype définissant le type de retour des éléments.

out tableau de sortie où la valeur de retour doit être copiée.


Qu'est-ce que la vectorisation ?

La conversion d'instructions itératives en une opération vectorielle est appelée vectorisation.

C'est plus rapide car les processeurs modernes sont optimisés pour de telles opérations.

Ajouter les éléments de deux listes

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

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

Une façon de procéder consiste à parcourir les deux listes, puis à additionner chaque élément.

Exemple

Sans ufunc, nous pouvons utiliser la zip()méthode intégrée de Python :

x = [1, 2, 3, 4]
y = [4, 5, 6, 7]
z = []

for i, j in zip(x, y):
  z.append(i + j)
print(z)

NumPy a un ufunc pour cela, appelé add(x, y) qui produira le même résultat.

Exemple

Avec ufunc, on peut utiliser la add()fonction :

import numpy as np

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

print(z)