Fonctions universelles NumPy (Ufuncs)

Il existe de nombreuses Ufuncs (fonctions universelles) dans NumPy, mais nous n’allons pas les étudier toutes.

Nous n’allons apprendre que les fonctions les plus essentielles.

Les Ufuncs de NumPy rendent les opérations sur les tableaux plus efficaces.

Dans ce chapitre, nous allons couvrir les Ufuncs de trois opérations majeures, à savoir,

  • Opérations arithmétiques
  • Opérations d’agrégation
  • Opérations de comparaison

Commençons par les opérations arithmétiques en utilisant les fonctions universelles NumPy.

Opérations arithmétiques

Les fonctions universelles de NumPy pour les opérations arithmétiques sont les suivantes :

  • add()
  • substract()
  • multiply()
  • divide()
  • floor_divide()
  • power()
  • mod()

Créons un exemple de tableau et exécutons toutes les opérations ci-dessus.

import numpy as np
arr1 = np.arange(1, 11)
arr1

# array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10])
  • add()
np.add(arr1, 5)

# array([ 6,  7,  8,  9, 10, 11, 12, 13, 14, 15])

Le code ci-dessus ajoute 5 à tous les éléments du tableau arr1.

  • subtract()
np.subtract(arr1, 2)

# array([-1,  0,  1,  2,  3,  4,  5,  6,  7,  8])

Ce code soustrait 2 à tous les éléments du tableau arr1.

  • multiply()
np.multiply(arr1, 10)

# array([ 10,  20,  30,  40,  50,  60,  70,  80,  90, 100])

Je suppose que tu sais maintenant ce qui se passe dans le code ci-dessus.

  • divide()
np.divide(arr1, 100)

# array([0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1 ])
  • floor_divide()
np.floor_divide(arr1, 4)

# array([0, 0, 0, 1, 1, 1, 1, 2, 2, 2])

La division ‘floor’ supprime toutes les valeurs décimales.

  • power()
np.power(arr1, 2)

# array([  1,   4,   9,  16,  25,  36,  49,  64,  81, 100])
  • mod()
np.mod(arr1, 2)

# array([1, 0, 1, 0, 1, 0, 1, 0, 1, 0])

mod() nous donne la valeur de rappel de tous les éléments après division par 2.

Exercice : Effectue toutes les opérations arithmétiques sur un tableau 2D et vois comment cela fonctionne.

C’est tout pour les opérations arithmétiques.

Opérations d’agrégation

Les fonctions universelles de NumPy pour les opérations d’agrégation sont les suivantes :

  • moyenne()
  • médiane()
  • std()
  • var()
  • min()
  • max()

Examinons-les une à une.

arr2 = np.array([1, 2, 3, 4, 5])
arr2

# array([1, 2, 3, 4, 5])

Nous avons 5 éléments dans arr2 ([1, 2, 3, 4, 5]).

Trouvons la moyenne, la médiane (mean), l’écart-type (std), la variance (var), la valeur minimale (min) et la valeur maximale (max).

  • mean()
np.mean(arr2)

# 3.0
  • median()
np.median(arr2)

# 3.0
  • std()
np.std(arr2)

# 1.4142135623730951
  • var()
np.var(arr2)

# 2.0
  • min()
np.min(arr2)

# 1
  • max()
np.max(arr2)

# 5

Exercice : Utilise les fonctions d’agrégation sur un tableau 2D. Explore ta curiosité. Essaye différentes choses et vois comment elles fonctionnent.

Opérations de comparaison

Les fonctions universelles de NumPy pour les opérations de comparaison sont les suivantes,

  • equal()
  • less()
  • less_equal()
  • greater()
  • greater_equal()
  • not_equal()

Voyons comment cela fonctionne.

import numpy as np
a1 = np.array([1, 2, 3, 4])
a2 = np.array([1, 0, 3, 7])
a1, a2

# (array([1, 2, 3, 4]), array([1, 0, 3, 7]))

Nous allons comparer les éléments contenus dans les tableaux a1 et a2.

En utilisant la méthode de comparaison, nous obtenons un tableau d’éléments contenant True ou False en fonction de la comparaison.

  • equal()
np.equal(a1, a2)

# array([ True, False,  True, False])

Les premier et troisième éléments des tableaux a1 et a2 sont respectivement 1 et 3, et les premier et troisième éléments de la sortie sont donc True.

  • less()
np.less(a1, a2)

# array([False, False, False,  True])
  • less_equal()
np.less_equal(a1, a2)

# array([ True, False,  True,  True])
  • greater()
np.greater(a1, a2)

# array([False,  True, False, False])
  • greater_equal()
np.greater_equal(a1, a2)

# array([ True,  True,  True, False])
  • not_equal()
np.not_equal(a1, a2)

# array([False,  True, False,  True])

Exercice : Crée deux tableaux 1D différents et essaye toutes les méthodes de comparaison.

Félicitations ! C’est terminé !

Tu as terminé avec succès le cours accéléré sur NumPy.

Maintenant, tu peux te demander 👉 Qu’est-ce qu’on fait maintenant ?