Manipuler les listes avec la bibliothèque numpy

Ces listes sont créées et manipulées à l'aide d'instructions comprises dans la bibliothèque numpy. Elle contient par ailleurs d'autres commandes qui peuvent s'avérer utiles dans les programmes de lycée.

Il est nécessaire d'importer cette bibliothèque en début de programme pour l'utiliser.

1
import numpy as np  # Importation de la bibliothèque numpy qui sera appelée par le raccourci np

Création

DéfinitionDéfinir une liste numpy

Les éléments d'une liste numpy sont placés entre [ ] et séparés par des virgules.

La syntaxe est donnée ci-dessous pour un exemple d'une liste de températures :

1
temperatures = np.array([20.2, 15.6, 10.3, 8.4, 17.9, 6.6])  # Liste de 6 valeurs numérotées de 0 à 5

Attention : les indices d'une liste commencent à 0.

MéthodeLongueur d'une liste

Pour connaître le nombre de termes d'une liste, on utilise la commande ci-dessous :

1
l = len(temperatures)

Avec la liste définie précédemment, l vaut 6.

Manipulation des listes numpy

MéthodeAfficher les termes d'une liste

Pour afficher tous les les termes d'une liste :

1
print(temperatures)

Pour afficher le dernier terme d'une liste :

1
print(temperatures[-1])  # On affiche le dernier terme de la liste.

Pour extraire certains termes d'une liste :

1
print(temperatures[0:4:2])

On affiche les termes d'indices 0 à 4, de deux en deux.

Les termes d'indices supérieur ou égal à 4 ne sont pas affichés.

MéthodeAjouter ou supprimer des termes à une liste

Pour ajouter un terme à la fin d'une liste, exemple avec la liste temperatures :

1
temperatures = np.append(temperatures, 30.3)  # Ajoute la valeur 30.3 à la fin de la liste print(temperatures)  # afficihage pour vérification

Pour supprimer un terme d'indice particulier d'une liste :

1
temperatures = np.delete(temperatures, 2)  # supprime la valeur de rang 2 dans la liste, donc la troisième valeur
2
print(temperatures)

Calculer avec les listes numpy

Les listes numpy sont particulièrement simples à utiliser pour effectuer des calculs. Elles peuvent être traitées comme des variables, sans avoir recours à des boucles.

MéthodeObtenir une nouvelle liste de valeurs à l'aide d'un calcul

On suppose qu'on dispose d'une liste numpy contenant des valeurs de la vitesse v = [2, 3, 4, 6, 7, 8].

L'énergie cinétique se calcule par \(E_C = \dfrac{1}{2} \cdot m \cdot v^2\), ce qui se traduit simplement avec une liste numpy par :

1
v = np.array([2, 3, 4, 6, 7, 8])  # liste contenant les vitesses
2
m = 2.5  # valeur de la masse stockée dans une variable
3
Ec = 0.5 * m * v**2  # crée la liste des énergies cinétiques à partir de la liste des vitesses
4
print(Ec)  # affichage pour vérification

ExempleCréation d'une liste de dates entre 0 et 1,5 s, par pas de 0,01 s

La bibliothèque numpy possède la fonction linspace spécialement dédiée.

Utilisée dans l'exemple ci-dessous, on obtient une liste de 101 valeurs comprises entre 0 et 1,5, bornes comprises.

1
import numpy as np  # Importation de la bibliothèque
2
t = np.linspace(0, 1.5, 101)  # Création de la liste de valeurs
3
print(t)  # Affichage pour vérification

Mémo rapide

Fondamental

Aide mémoire synthétique sur quelques fonctions numpy

CODE

FONCTION

import numpy as np

Importe la bibliothèque numpy (nécessaire pour utiliser les fonctions mathématiques opérant sur des tableaux de valeurs ci-dessous).

a=np.arange(-20,20,0.01)

Crée un tableau de valeurs « a » allant de -20 inclu à 20 exclu avec un pas de 0.01.

b=np.linspace(-20,20,400)

Crée un tableau de valeurs « b » allant de -20 inclu à 20 inclu avec 400 valeurs régulièrement espacées.

len(b)

Renvoie le nombre de valeurs contenues dans le tableau « b ».

c=np.sin(2*np.pi*a)/a

d=0.1*b

Attention les angles doivent être en rad dans les sin, cos, arcsin...

Lors de l'affichage de courbes, ne pas hésiter à les remettre en deg afin que cela soit plus "parlant".

Crée un tableau de valeurs « c » ayant pour valeurs sin(2π*a)/a pour les différentes valeurs du tableau « a » créées préalablement.

Crée un tableau de valeurs « d » ayant pour valeurs 0.1b pour les différentes valeurs du tableau « b » créées préalablement.

b=np.copy(a)

Fait une copie du tableau de valeurs « a ».

D'après Boîte à outils Python - Stéphane Génouel - http://stephane.genouel.free.fr/FT/Dossier_Multimedia/000Tutoriel/Pyzo_gen_auroraW/co/Pyzo.html