ufuncs NumPy
Que sont les ufuncs ?
ufuncs signifie "Fonctions universelles" et ce sont des fonctions NumPy qui opèrent sur l' ndarray
objet.
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)