Aller au contenu

Les tableaux numpy.array⚓︎

Le module numpy permet de manipuler les tableaux de données. Les données des tableaux sont toutes le même type numérique, en cela ils diffèrent des listes Python.

Le nombre de dimension est variable. Ce module est particulièrement optimisé et est au centre de tous les modules de calculs scientifiques en Python.

Il faut donc connaitre ce module et savoir utiliser la structure numpy.array.

Nous avons besoin d'importer le module avec l'instruction :

Python
import numpy as np

Création et propriétés⚓︎

Création à partir d’une liste de listes. Sans option supplémentaire le type est détecté automatiquement.

Python
1
2
3
4
5
6
a = np.array([[8,3,2,4], [5,1,6,0], [9,7,4,1]])
print(a)

[[8 3 2 4]
 [5 1 6 0]
 [9 7 4 1]]

Remarque: le type entier utilisé dans numpy est le type numpy.int64 c’est à dire un entier codé sur 64 bits et le nombre le type int par défaut de python.

Remarque

les tableaux Ă  une dimension numpy fonctionnent comme des vecteurs

Python
1
2
3
4
5
6
    v = np.array([1,2,3])
    y = 2 * v
    print(y)


    >>>[2 4 6]

Multiplication de matrices avec numpy.⚓︎

Python
1
2
3
4
5
6
7
A = np.array([[1, 2],
              [3, 4]])

B = np.array([[1],
              [2]])

C = np.dot(a, b) # calul C = A.B 

Matrice C = A × B⚓︎

Le produit est :

\(\begin{pmatrix}1 & 2 \\ 3 & 4\\ \end{pmatrix} \times \begin{pmatrix} 1 \\ 2 \end{pmatrix} = \begin{pmatrix} 1Ă—1 + 2Ă—2 \\ 3Ă—1 + 4Ă—2 \end{pmatrix} = \begin{pmatrix} 5 \\ 11 \end{pmatrix}\)

Création à partir de fonctions numpy⚓︎

Python
1
2
3
np.array([ i+1 for i in range(10) ])

array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10])
Python
1
2
3
np.arange(10, 20, step=2)    # même syntaxe que range mais les paramètres peuvent être des nombres flottants 

array([10, 12, 14, 16, 18])

Module matplotlib⚓︎

C’est le module pour les tracés de courbes.

Python
import numpy as np
import matplotlib.pyplot as plt

Courbes⚓︎

Nous allons définir les couples (x,y)

Python
x = np.arange(0,6,0.1)
y = np.sin(x)

Et l'instruction plt.plot(x,y) permet de tracer la courbe

Nuages de points⚓︎

Python
x = np.arange(1,11)
y = 2 ** x

Et le nuage de point plt.scatter(x,y)

les courbes sont affichées avec plt.show().