C’est une bibliothèque dans Python dédié au traitement des tablaux, un tableau (array) est très similaire à une liste.
Pourquoi on doit les utiliser au lieu des listes?
– Les opérations sur les tableaux NumPy sont plus rapides que sur les listes.
L’exécution des codes précédents semble instantanée, mais pour le Big Data (liste de Milliards de cases par exemple), la différence entre la durée d’exécution des opérations entre les tableaux et celle entre les listes augmente.
– C’est juste question de complexité du code, mais en termes d’opérations: tout ce qui est possible à faire avec les tableaux peut etre fait en utilisant les listes.
Importation de NumPy
On peut utiliser les fonctions et structures de données définie dans la bibliothèque NumPy:
- Par importation de toute la bibliothèque:
import numpy
: Si f est une fonction/module de numpy, on doit exécuternumpy.f ()
(par exemple:numpy.array()
)import numpy as x
(par convention x = np, mais on doit mettre n’importe quel alias): C’est la méthode qu’on va utiliser dans tout les codes. Si f est une fonction de numpy, on doit exécuterx.f ()
(par exemple:np.array()
)from numpy import *
(non recommandée) : l’étoile signifie tout, en utilisant cet instruction tous les modules de numpy vont etre importés et on les appèle directement au lieu de mettrenumpy.
au début. (par exemple:array()
au lieu denumpy.array()
)
- Par importation de quelques modules:
from numpy import f
: » f » étant un module défini dans numpy (exp:from numpy import array
)from numpy import f1, f2, ...
: au cas où on va importer plusieurs modules (exp:from numpy import array, zeros, linspace
)
Syntaxe
Le syntaxe pour un tableau est le meme qu’une liste sauf que le tableau = np.array(liste)
Le syntaxe des opérations (affectation, accès aux cases, modification, ..) est le meme que celui des listes
Les modules de NumPy les plus utilisés
- La fonction
np.array()
transforme une liste en tableau. - Pour créer un tableau de longueur n rempli de zéros, nous écrivons :
a = np.zeros(n)
- Les éléments de a sont du type float; nous pouvons spécifier le type, par exemple int :
a = np.zeros(n, int)
- Pour établir un tableau de valeurs d’une fonction, nous avons souvent besoin de générer un tableau de n nombres uniformément répartis sur un intervalle [p; q] :
x=np.linspace(p,q,n)
- On peut utiliser les fonctions usuelles:
cosinus -> np.cos()
,sinus -> np.sinus()
,exponentiel -> np.exp()
,etc. Mais ATTENTION, on doit utiliser les modules de NumPy et pas la bibliothèque Math qui effectue les opérations sur seulement les entiers et les flottants. - En Python, il y a 2 types de multiplications: la multiplication de 2 vecteurs comme est définie en mathématique se fait par
np.dot(A,B)
(N’oublie pas la condition sur les dimensions), l’autre est la multiplication élément par élément en utilisant l’opérateur*
- On peut créer des matrices en utilisant
np.matrix()
(exp:np.array([[1, 2], [3, 4]])
) - Les éléments d’un tableau peuvent être extraits commme pour les listes, mais attention, si un élément de l’extrait est modifié, l’élément de l’original l’est aussi :
Opérations sur les tableaux
Il n’y a plus besoin d’utiliser des boucles for
, les opérations s’appliquent directement.
Les opération (addition, multiplication, …) sont automatiquement appliquées sur tous les éléments
On peut meme définir une fonction pour un tableau:
Les 2 multiplications:
Remarque que tous les éléments sont des flottants