Master PNOMER S2
Introduction à
NumPy
Informatique
Noureddine En-nahnahi
2023/2024
1
Les Listes en Python Noureddine En-nahnahi
2
Les Listes en Python Noureddine En-nahnahi
3
Les Listes en Python Noureddine En-nahnahi
1. Introduction à NumPy
• Qu'est-ce que NumPy ?
• Pourquoi NumPy est-il utilisé en physique des matériaux et en énergies
renouvelables ?
2. Installation et importation de NumPy
• Installation de NumPy
• Importation de NumPy dans l'environnement Python
3. Les tableaux NumPy
• Création de tableaux NumPy
• Propriétés des tableaux NumPy (dimension, forme, type de données)
• Accès aux éléments des tableaux NumPy
4. Opérations avec NumPy
• Opérations mathématiques de base (addition, soustraction, multiplication,
division)
• Opérations sur les tableaux (slicing, broadcasting)
• Fonctions mathématiques universelles (sin, cos, exp, etc.)
5. Manipulation avancée de tableaux
• Indexation avancée
• Manipulation de la forme des tableaux (reshape, resize)
• Concaténation et division de tableaux
6. Chargement de données avec NumPy
• Lecture de données à partir de fichiers texte
• Lecture de données à partir de fichiers CSV
7. Applications en physique des matériaux et en
énergies renouvelables
• Analyse de données expérimentales sur les nouveaux matériaux
• Simulation de systèmes énergétiques renouvelables
• Modélisation de réactions chimiques pour la production d'énergie
4
Les Listes en Python Noureddine En-nahnahi
8. Exemples pratiques
• Calcul des propriétés physiques des matériaux (densité, conductivité, etc.)
• Analyse de spectres de matériaux
• Simulation de la croissance de matériaux en couches minces
9. Exercices
• Exercices pratiques pour renforcer la compréhension des concepts abordés
5
Les Listes en Python Noureddine En-nahnahi
6
Les Listes en Python Noureddine En-nahnahi
1. Introduction à NumPy
Qu'est-ce que NumPy ?
NumPy, abréviation de "Numerical Python", est une bibliothèque Python fondamentale
utilisée pour effectuer des calculs numériques efficaces. Elle fournit des structures de
données puissantes pour représenter et manipuler des tableaux multidimensionnels
ainsi qu'une large collection de fonctions et d'opérateurs pour travailler sur ces
tableaux. NumPy est largement utilisé dans divers domaines scientifiques et
techniques, notamment en physique des matériaux et en énergies renouvelables, en
raison de sa rapidité, de sa flexibilité et de sa facilité d'utilisation pour le traitement de
données numériques massives.
Pourquoi NumPy est-il utilisé en physique des matériaux et en
énergies renouvelables ?
1. Traitement efficace des données : NumPy offre des structures de données
optimisées pour stocker et manipuler des ensembles de données volumineux,
ce qui est essentiel pour analyser les expériences en physique des matériaux et
les données de simulation en énergies renouvelables.
2. Calculs numériques rapides : Les opérations sur les tableaux NumPy sont
implémentées en C, ce qui les rend beaucoup plus rapides que les opérations
similaires effectuées en Python pur. Cela permet d'accélérer les calculs dans les
simulations numériques et les analyses de données.
3. Compatibilité avec d'autres bibliothèques : NumPy est utilisé comme base
pour de nombreuses autres bibliothèques Python spécialisées dans la science
des données, telles que SciPy, pandas et scikit-learn. Ces bibliothèques sont
souvent utilisées en physique des matériaux et en énergies renouvelables pour
des tâches telles que l'optimisation, l'analyse statistique et l'apprentissage
automatique.
4. Fonctions mathématiques avancées : NumPy offre une vaste collection de
fonctions mathématiques pour effectuer des opérations avancées sur les
données, telles que les transformations de Fourier, les calculs d'intégrales et les
fonctions spéciales, ce qui est précieux dans la modélisation et la simulation des
phénomènes physiques.
7
Les Listes en Python Noureddine En-nahnahi
Exemples :
Exemple 1 : Calcul de la densité électronique dans un matériau
Dans cet exemple, NumPy est utilisé pour calculer la densité électronique moyenne
dans un matériau à partir d'un ensemble de données expérimentales.
Exemple 2 : Simulation de la production d'énergie solaire
Dans cet exemple, NumPy est utilisé pour calculer la production totale d'énergie solaire
sur une journée à partir de données de simulation.
8
Les Listes en Python Noureddine En-nahnahi
2. Installation et importation de NumPy
Installation de NumPy
Pour installer NumPy, vous pouvez utiliser pip, le gestionnaire de paquets Python
standard. Ouvrez votre terminal ou votre invite de commande et exécutez la
commande suivante :
Assurez-vous d'avoir une connexion Internet active, et NumPy sera téléchargé et
installé sur votre système.
Importation de NumPy dans l'environnement Python
Une fois NumPy installé, vous pouvez l'importer dans n'importe quel script Python en
utilisant la déclaration d'importation standard. Voici comment vous pouvez importer
NumPy dans votre script Python :
9
Les Listes en Python Noureddine En-nahnahi
3. Les tableaux NumPy
Création de tableaux NumPy
NumPy offre plusieurs méthodes pour créer des tableaux multidimensionnels. Voici
quelques-unes des méthodes les plus couramment utilisées :
1. Création à partir de listes Python : Vous pouvez créer un tableau NumPy en
passant une liste Python à la fonction [Link]().
2. Création de tableaux vides ou remplis de zéros ou de uns : NumPy fournit
les fonctions [Link](), [Link]() et [Link]() pour créer des tableaux vides,
remplis de zéros ou de uns respectivement.
3. Création de séquences : NumPy propose également la fonction [Link]()
pour créer des tableaux contenant des séquences de nombres.
10
Les Listes en Python Noureddine En-nahnahi
Propriétés des tableaux NumPy
Une fois que vous avez créé un tableau NumPy, vous pouvez accéder à plusieurs de
ses propriétés importantes :
1. Dimension : La dimension d'un tableau NumPy est le nombre de dimensions
(ou axes) qu'il possède. Vous pouvez obtenir la dimension d'un tableau en
utilisant l'attribut ndim.
2. Forme : La forme d'un tableau NumPy est un tuple indiquant la taille de chaque
dimension. Vous pouvez obtenir la forme d'un tableau en utilisant l'attribut
shape.
3. Type de données : Le type de données d'un tableau NumPy indique le type des
éléments qu'il contient. Vous pouvez obtenir le type de données d'un tableau
en utilisant l'attribut dtype.
11
Les Listes en Python Noureddine En-nahnahi
Accès aux éléments des tableaux NumPy
Vous pouvez accéder aux éléments individuels ou à des sous-tableaux (slices) des
tableaux NumPy en utilisant l'indexation. L'indexation commence à zéro pour accéder
aux éléments d'un tableau.
12
Les Listes en Python Noureddine En-nahnahi
4. Opérations avec NumPy
Opérations mathématiques de base
NumPy permet d'effectuer des opérations mathématiques de base sur les tableaux de
manière efficace. Voici quelques exemples d'opérations telles que l'addition, la
soustraction, la multiplication et la division :
Opérations sur les tableaux
Slicing
Le slicing permet d'extraire des sous-tableaux (slices) à partir d'un tableau NumPy en
spécifiant des indices ou des plages d'indices. Voici un exemple :
13
Les Listes en Python Noureddine En-nahnahi
Broadcasting
Le broadcasting est une technique puissante qui permet d'effectuer des opérations
entre des tableaux de formes différentes de manière transparente. Voici un exemple :
Fonctions mathématiques universelles
NumPy offre une large gamme de fonctions mathématiques universelles (ufuncs) pour
effectuer des opérations mathématiques élémentaires sur les tableaux. Voici quelques
exemples :
14
Les Listes en Python Noureddine En-nahnahi
5. Manipulation avancée de tableaux
Indexation avancée
NumPy permet une indexation avancée, ce qui signifie que vous pouvez utiliser des
tableaux ou des listes comme indices pour extraire des éléments spécifiques d'un
tableau NumPy. Voici un exemple :
Dans cet exemple, nous utilisons une liste d'indices [0, 1] pour sélectionner les éléments
de la première colonne, et une autre liste d'indices [1, 0] pour sélectionner les éléments
de la deuxième colonne.
Manipulation de la forme des tableaux
Reshape
La méthode reshape() permet de changer la forme d'un tableau NumPy sans changer
ses éléments. Voici un exemple :
Resize
La méthode resize() permet de modifier la taille d'un tableau NumPy, en ajoutant ou
en supprimant des éléments si nécessaire. Voici un exemple :
15
Les Listes en Python Noureddine En-nahnahi
Concaténation et division de tableaux
Concaténation
NumPy permet de concaténer plusieurs tableaux le long d'un axe spécifié. Voici un
exemple :
Division
La fonction [Link]() permet de diviser un tableau NumPy en plusieurs sous-tableaux.
Voici un exemple :
16
Les Listes en Python Noureddine En-nahnahi
6. Chargement de données avec NumPy
Lecture de données à partir de fichiers texte
NumPy fournit la fonction [Link]() pour charger des données à partir de fichiers
texte. Voici un exemple :
Dans cet exemple, les données sont chargées à partir du fichier texte [Link] et
stockées dans un tableau NumPy.
Lecture de données à partir de fichiers CSV
NumPy offre également la fonction [Link]() pour charger des données à partir
de fichiers CSV (comma-separated values). Voici un exemple :
Dans cet exemple, les données sont chargées à partir du fichier CSV [Link] en
spécifiant le délimiteur comme une virgule.
Exemple de fichier texte ([Link]) :
Exemple de fichier CSV ([Link]) :
17
Les Listes en Python Noureddine En-nahnahi
18
Les Listes en Python Noureddine En-nahnahi
7. Applications en physique des matériaux et en
énergies renouvelables
7.1. Analyse de données expérimentales sur les nouveaux
matériaux
En physique des matériaux, l'analyse de données expérimentales est cruciale pour
comprendre les propriétés des nouveaux matériaux. NumPy peut être utilisé pour
charger, manipuler et analyser ces données de manière efficace. Voici un exemple
simple :
7.2. Simulation de systèmes énergétiques renouvelables
En énergies renouvelables, la simulation de systèmes énergétiques est essentielle pour
évaluer les performances et optimiser la conception des installations énergétiques.
NumPy peut être utilisé pour modéliser ces systèmes et analyser les résultats de
simulation. Voici un exemple simplifié de simulation d'une éolienne :
19
Les Listes en Python Noureddine En-nahnahi
7.3. Modélisation de réactions chimiques pour la production
d'énergie
En chimie énergétique, la modélisation des réactions chimiques est utilisée pour
concevoir des processus de production d'énergie plus efficaces. NumPy peut être
utilisé pour résoudre les équations chimiques et analyser les résultats de simulation.
Voici un exemple simple de simulation de la cinétique d'une réaction chimique :
20
Les Listes en Python Noureddine En-nahnahi
8. Exemples pratiques
8.1. Calcul des propriétés physiques des matériaux (densité,
conductivité, etc.)
NumPy peut être utilisé pour calculer diverses propriétés physiques des matériaux à
partir de données expérimentales ou de modèles théoriques. Voici un exemple de
calcul de densité :
8.2. Analyse de spectres de matériaux
L'analyse de spectres est courante en physique des matériaux pour caractériser les
propriétés des matériaux. NumPy peut être utilisé pour charger, traiter et analyser ces
spectres. Voici un exemple simplifié de calcul de l'intensité maximale dans un spectre
:
8.3. Simulation de la croissance de matériaux en couches minces
La simulation de la croissance de matériaux en couches minces est importante pour la
conception de dispositifs électroniques et optoélectroniques. NumPy peut être utilisé
pour modéliser ces processus de croissance. Voici un exemple simplifié de simulation
de croissance de couches minces :
21
Les Listes en Python Noureddine En-nahnahi
22
Les Listes en Python Noureddine En-nahnahi
9. Exercices :
Exercice 1 : Calcul de propriétés physiques
Écrivez un programme Python qui prend en entrée la masse et le volume d'un
matériau, et calcule sa densité. Utilisez NumPy pour effectuer le calcul.
Exercice 2 : Analyse de données expérimentales
Écrivez un programme Python qui charge les données expérimentales à partir d'un
fichier texte, puis calcule la moyenne et l'écart-type des données à l'aide de NumPy.
Exercice 3 : Simulation d'une réaction chimique
Écrivez un programme Python qui simule la cinétique d'une réaction chimique à l'aide de
NumPy. Supposons une réaction du premier ordre où la concentration d'un réactif diminue avec
le temps selon l'équation 𝐴(𝑡)=𝐴0×𝑒−𝑘𝑡
23
Les Listes en Python Noureddine En-nahnahi
24
Les Listes en Python Noureddine En-nahnahi