Chapitre 1 : Bibliothèque NumPy
Pr: Otman MAAROUF
Université Ibnou Zohr, Faculté des Sciences Agadir
Centre d’Excellence IT
Filière: ADIA - S6
Module: Apprentissage Automatique et Visualisation
February 27, 2025
[Link] Université Ibnou Zohr February 27, 2025 1 / 49
Table des matières
1 Introduction à Numpy
2 Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 2 / 49
Introduction à Numpy
Introduction à Numpy
[Link] Université Ibnou Zohr February 27, 2025 3 / 49
Introduction à Numpy
Introduction
Qu’est-ce que NumPy ?
NumPy, abréviation de Numerical Python, est une bibliothèque
puissante pour le calcul numérique en Python. Elle offre un support pour les
tableaux et matrices larges et multidimensionnels, ainsi que des fonctions
mathématiques pour opérer sur ces éléments.
NumPy est un package fondamental pour le calcul scientifique avec Python
et est largement utilisé dans divers domaines tels que l’apprentissage
automatique, l’analyse de données et la recherche scientifique.
NumPy est une bibliothèque Python utilisée pour travailler avec des
tableaux.
Il dispose également de fonctions pour travailler dans le domaine de l’algèbre
linéaire, de la transformée de Fourier et des matrices.
C’est un projet open source, et vous pouvez l’utiliser librement.
[Link] Université Ibnou Zohr February 27, 2025 4 / 49
Introduction à Numpy
Introduction
Pourquoi NumPy ?
En Python, nous avons des listes qui servent de tableaux, mais leur
traitement est lent.
NumPy vise à fournir un objet tableau jusqu’à 50 fois plus rapide que les
listes Python traditionnelles.
L’objet tableau dans NumPy s’appelle ndarray : N-dimensional array, il
fournit de nombreuses fonctions de support qui rendent le travail avec
ndarray très simple.
Les tableaux sont très fréquemment utilisés en science des données, où la
vitesse et les ressources sont très importantes.
Allocation de mémoire contiguë : Les tableaux NumPy utilisent des blocs
de mémoire contigus , ce qui permet un stockage et une récupération
efficaces des éléments. En revanche, les listes Python utilisent une stratégie
d’allocation de mémoire plus dispersée, ce qui peut entraı̂ner des temps
d’accès plus lents.
Base de code compilée : De nombreuses opérations dans NumPy sont
implémentées dans des langages compilés comme C et Fortran . Ce code
compilé est hautement optimisé et s’exécute beaucoup plus rapidement que les
opérations équivalentes écrites en Python pur.
[Link] Université Ibnou Zohr February 27, 2025 5 / 49
Introduction à Numpy
Introduction
Les tableaux NumPy ont un type de données fixe, ce qui signifie que tous les
éléments du tableau doivent être du même type. Cela permet une utilisation
efficace de la mémoire et des opérations optimisées, car le type de données est
connu à l’avance.
NumPy encourage les opérations vectorisées, où les opérations sont appliquées
à des tableaux entiers plutôt qu’à des éléments individuels. Cela tire parti des
opérations optimisées de bas niveau sur des blocs de mémoire contigus,
conduisant à une exécution plus rapide.
Diffusion (Broadcasting) : La fonctionnalité de diffusion de NumPy permet
des opérations efficaces sur des tableaux de formes différentes sans avoir
besoin de boucles explicites. Cela contribue en outre à l’amélioration des
performances.
Parallélisation : Certaines opérations NumPy peuvent profiter de la
parallélisation, ce qui signifie qu’elles peuvent être exécutées simultanément
sur plusieurs cœurs de processeur. Cela peut considérablement accélérer les
calculs, en particulier pour les grands ensembles de données.
[Link] Université Ibnou Zohr February 27, 2025 6 / 49
Introduction à Numpy
Installation de NumPy
La seule condition préalable à l’installation de NumPy est Python lui-même.
Vous pouvez utiliser le gestionnaire de paquets Python pip pour installer
NumPy.
Ouvrez votre terminal ou votre invite de commande, puis exécutez la
commande suivante : ” pip install numpy ”.
Cette commande téléchargera et installera la dernière version stable de
NumPy à partir du dépôt Python Package Index (PyPI).
Vérifier la version de NumPy utilisant numpy. version .
[Link] Université Ibnou Zohr February 27, 2025 7 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 8 / 49
Tableaux NumPy
Tableaux NumPy
NumPy est utilisé pour travailler avec des tableaux. L’objet tableau dans
NumPy s’appelle ndarray (N-dimensional array).
Les tableaux NumPy sont une structure de données fondamentale fournie par
la bibliothèque NumPy en Python.
Ils sont conçus pour des calculs numériques efficaces et constituent un
élément clé pour de nombreuses tâches de calcul scientifique et d’analyse de
données.
Nous pouvons créer un objet NumPy ndarray en utilisant la fonction
array().
[Link] Université Ibnou Zohr February 27, 2025 9 / 49
Tableaux NumPy
Tableaux NumPy
Un tableau N-dimensionnel est simplement un tableau avec un nombre
quelconque de dimensions.
Vous pourriez aussi entendre parler d’un tableau 1-D, ou d’un tableau
unidimensionnel, d’un tableau 2-D, ou d’un tableau bidimensionnel, et
ainsi de suite. La classe ndarray de NumPy est utilisée pour représenter à la
fois des matrices et des vecteurs.
Un vecteur est un tableau avec une seule dimension (il n’y a pas de différence
entre les vecteurs lignes et colonnes), tandis qu’une matrice fait référence à
un tableau avec deux dimensions.
Pour des tableaux en 3D ou avec un nombre de dimensions supérieur, le
terme ” tenseur ” est également couramment utilisé.
[Link] Université Ibnou Zohr February 27, 2025 10 / 49
Tableaux NumPy
Tableaux NumPy
Pour créer un tableau NumPy, vous pouvez utiliser la fonction [Link]().
Tout ce que vous avez à faire pour créer un tableau simple est de lui passer
une liste. Si vous le souhaitez, vous pouvez également spécifier le type de
données dans votre liste.
Pour afficher la dimension du tableau, vous pouvez utiliser la commande
ndim.
[Link] Université Ibnou Zohr February 27, 2025 11 / 49
Tableaux NumPy
Tableaux NumPy
En plus de créer un tableau à partir d’une séquence d’éléments, vous pouvez
facilement créer un tableau rempli de zéros : Fonction zeros()
Ou un tableau rempli de 1 : Fonction ones()
Ou même un tableau vide : La fonction [Link]() est utilisée pour
créer un tableau NumPy sans initialiser ses éléments à une valeur particulière.
Cela signifie que les valeurs des éléments du tableau seront indéterminées et
dépendront de l’état actuel de la mémoire.
Il est important de noter que l’utilisation de [Link] est généralement
réservée aux cas où vous savez que vous allez remplir le tableau avec des
valeurs ultérieurement.
[Link] Université Ibnou Zohr February 27, 2025 12 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 13 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 14 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 15 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 16 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 17 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 18 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 19 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 20 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 21 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 22 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 23 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 24 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 25 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 26 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 27 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 28 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 29 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 30 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 31 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 32 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 33 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 34 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 35 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 36 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 37 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 38 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 39 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 40 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 41 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 42 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 43 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 44 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 45 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 46 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 47 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 48 / 49
Tableaux NumPy
Tableaux NumPy
[Link] Université Ibnou Zohr February 27, 2025 49 / 49