Académique Documents
Professionnel Documents
Culture Documents
3 NumPy
3 NumPy
2021-2022
3
1- Définition
NumPy Le module incontournable pour le calcul scientifique avec Python est
NumPy, également connu sous le nom de "Python numérique". Ce module prend en
charge les fonctionnalités suivantes :
Remarques:
11
2- Création d’un tableau
Remarque
La liste initiale peut contenir des données de types différents. Numpy peut
convertir les données au type le plus général (Ex. int float)
a = np.array([2, 3.14, 4.75, 6, 8])
print(a)
[2. 3.14 4.75 6. 8. ]
14
3- Manipulation des tableaux
15
3- Manipulation des tableaux
18
4- Autres opérations sur les tableaux
Remarque:
La librairie n’est pas aussi riche en termes de fonctions, d’autres librairies peuvent
être utilisées telles que Scipy (pour les mathématiques, la science et l’ingénierie).
22
4- Autres opérations sur les tableaux
Opérations logiques
a = np.array([False, False, True, True], dtype=bool)
b = np.array([True, False, False, True], dtype=bool)
#ET logique
print(np.logical_and(a,b))
[False False False True]
#OU exclusif logique
print(np.logical_xor(a,b))
[ True False True True]
#Négation logique
print(np.logical_not(a))
[ True True False False]
24
5- Création d’une matrice
#importer Numpy
import numpy as np
#Création d’une matrice manuellement à partir un ensemble d’éléments
a = np.array([[1,2,3], [2,6,8], [4,-2,-1]])
print(a)
[[ 1 2 3]
[ 2 6 8]
[ 4 -2 -1]]
#type de la structure
print(type(a))
<class 'numpy.ndarray'>
25
5- Création d’une matrice
#Créer une matrice à partir d’une liste de listes en utilisant la fonction array()
a = np.array([[1,2,3], [2,6,8], [4,-2,-1]])
#type d’objets/éléments
print(a.dtype)
int32
#dimension
print(a.ndim)
2 # Il s’agit d’une matrice
#nombre de lignes et de colonnes
print(a.shape)
(3, 3) #3 lignes et 3 colonnes
26
5- Création d’une matrice
28
5- Création d’une matrice
L’accès aux éléments d’une matrice s’effectue à travers les indices en utilisant le
parcours ligne par ligne ou bien le parcours colonne par colonne.
#boucles indices
import numpy as np
2
a = np.array([[2,4],[6,8],[3,5]])
s=0
4
for i in range(a.shape[0]): 6
for j in range(a.shape[1]): 8
print(a[i,j]) 3
s+=a[i,j] 5
print(s, "est la somme des éléments de la matrice") 28 est la somme des
éléments de la matrice
30
7- Opérations sur les matrices
Autres opérations
a = np.array([[1.2,2.3,5.5],[8.6,6.8,3.6],[2.2,1.9,9.6]])
b = np.array([[5.5,3.6,4.6],[2.2,4.7,3.6],[4.7,5.9,1.4]])
#transposé d’une matrice
print(a)
[[1.2 2.3 5.5] print(np.transpose(a))
[8.6 6.8 3.6] [[1.2 8.6 2.2]
[2.2 1.9 9.6]] [2.3 6.8 1.9]
#multiplication de deux matrices [5.5 3.6 9.6]]
print(np.dot(a,b))
[[37.51 47.58 21.5 ]
[79.18 84.16 69.08]
[61.4 73.49 30.4 ]]
32
7- Opérations sur les matrices
Autres opérations
a = np.array([[1.2,2.3,5.5],[8.6,6.8,3.6],[2.2,1.9,9.6]])
b = np.array([[5.5,3.6,4.6],[2.2,4.7,3.6],[4.7,5.9,1.4]])
#déterminant d’une matrice
print(np.linalg.det(b))
-72.71199999999999
#inversion d’une matrice
print(np.linalg.inv(b))
[[ 0.20161734 -0.30393883 0.11910001]
[-0.19033997 0.1914402 0.13312796]
[ 0.12528881 0.21358235 -0.24658928]]
33
7- Opérations sur les matrices
Autres opérations
x = np.array([[2.5,5.5],[1.2,2.6],[4.5,6.5]])
y = np.array([[1.5,3.2],[1.4,9.8]])
#résolution d’equation
z = np.array([1.5, 2.5])
print(np.linalg.solve(y,z)) #on cherche à résoudre y.a=z
[0.6555773 0.16144814]
#vérification de la solution précédente
print(np.dot(np.linalg.inv(y),z)) #a=y-1.z
[0.6555773 0.16144814]
#matrice symétrique en utilisant xtx
[[27.94 46.12]
s = np.dot(np.transpose(x),x) [46.12 79.26]]
34