Introduction à NumPy#
La bibliothèque NumPy (http://www.numpy.org/) permet d’effectuer des calculs numériques avec Python. Elle introduit une gestion facilitée des tableaux de nombres.
Pour utiliser NumPy, vous devez au préalable vous placer dans un environnement qui comprend cette bibliothèque, voir Introduction à Python.
Il faut au départ importer le package numpy avec l’instruction suivante :
>>> import numpy as np
Variables prédéfinies#
Variable pi#
NumPy permet d’obtenir la valeur de pi.
>>> np.pi
3.141592653589793
Tableaux - numpy.array()
#
Création#
Les tableaux (en anglais, array) peuvent être créés avec numpy.array()
. On utilise des crochets pour délimiter les listes d’éléments dans les tableaux.
>>> a = np.array([1, 2, 3, 4])
Affichage#
>>> a
array([1, 2, 3, 4])
>>> type(a)
numpy.ndarray
On voit que l’on a obtenu un objet de type numpy.ndarray.
Accès aux éléments d’un tableau#
Avertissement
Comme pour les listes, les indices des éléments commencent à zéro.
>>> a[0]
1
>>> a[3]
4
Tableau 2D#
Il est possible de créer un tableau 2D en utilisant une liste de listes au moyen de crochets imbriqués. Les listes internes correspondent à des lignes du tableau.
>>> b = np.array([[1, 2, 3], [4, 5, 6]])
Affichage#
>>> b
array([[1, 2, 3],
[4, 5, 6]])
>>> type(b)
numpy.ndarray
Accès aux éléments d’un tableau 2D#
On utilise une syntaxe avec deux indices. Le premier indice est l’indice de la ligne du tableau.
>>> b[0,1]
2
>>> b[1,2]
6
La fonction numpy.arange()
#
>>> m = np.arange(3, 15, 2)
>>> m
array([ 3, 5, 7, 9, 11, 13])
>>> type(m)
numpy.ndarray
Noter la différence entre numpy.arange()
et range()
:
numpy.arange()
retourne un objet de type numpy.ndarray.range()
retourne un objet de type range.
>>> n = range(3, 15, 2)
>>> n
range(3, 15, 2)
>>> type(n)
range
Ceci est également à distinguer d’une liste.
>>> u = [3, 7, 10]
>>> type(u)
list
Il est possible d’obtenir des listes en combinant list et range()
.
>>> list(range(3, 15, 2))
[3, 5, 7, 9, 11, 13]
numpy.arange()
accepte des arguments qui ne sont pas entiers.
>>> np.arange(0, 11*np.pi, np.pi)
array([ 0. , 3.14159265, 6.28318531, 9.42477796,
12.56637061, 15.70796327, 18.84955592, 21.99114858,
25.13274123, 28.27433388, 31.41592654])
La fonction numpy.linspace()
#
numpy.linspace()
permet d’obtenir un tableau 1D allant d’une valeur de départ à une valeur de fin avec un nombre donné d’éléments.
>>> np.linspace(3, 9, 10)
array([ 3. , 3.66666667, 4.33333333, 5. , 5.66666667,
6.33333333, 7. , 7.66666667, 8.33333333, 9. ])
Action d’une fonction mathématique sur un tableau#
NumPy dispose d’un grand nombre de fonctions mathématiques qui peuvent être appliquées directement à un tableau. Dans ce cas, la fonction est appliquée à chacun des éléments du tableau.
>>> x = np.linspace(-np.pi/2, np.pi/2, 3)
>>> x
array([-1.57079633, 0. , 1.57079633])
>>> y = np.sin(x)
>>> y
array([-1., 0., 1.])