Introduction à NumPy

Nous allons travailler en interactif.

Vous pouvez utiliser l’éditeur Spyder de la distribution Anaconda.

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.

Il faut au départ importer le package numpy avec l’instruction suivante :

>>> import numpy as np

Variables prédéfinies

Variable pi

NumPy définit par défaut 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, 5, 6]])

Affichage

>>> a
array([[1, 2, 3],
       [4, 5, 6]])
>>> 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

Warning

Comme pour les listes, les indices des éléments commencent à zéro.

>>> a[0,1]
2
>>> a[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() :

>>> 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.])