Chapitre 2 Array in Python

Télécharger au format pptx, pdf ou txt
Télécharger au format pptx, pdf ou txt
Vous êtes sur la page 1sur 23

Institut Supérieur d'Informatique et de Gestion

de Kairouan

Cours Python
Niveau 2éme année

Chapitre 2 :
Les tableaux en Python

2020-2021
2

Plan
o Introduction
o Création de tableaux monodimensionnels
o Création de tableaux à n dimensions
o Indiçage et accès
o Slicing pour les vecteurs
o Slicing pour les matrices
3

Introduction
• Nous allons voir comment créer des tableaux avec
la fonction array() du module NumPy (Numerical
Python).
• Ce module permet la manipulation des vecteurs et
des matrices grâce à des fonctions de calcul numériques et
matriciels.
• • L’objet tableau en python s’appelle array et le type
correspondant est : numpy.ndarray
4

Création de tableaux monodimensionnels

• On doit commencer par l’importation de numpy.


• La création se fait avec la fonction:
numpy.array()

 >>> import numpy as np


>>> a = np.array([4,7,9])
>>> a
>>> print (a)
>>> type (a)
>>> type ([4,7,9])
5

Création de tableaux monodimensionnels

• La fonction numpy.array() permet aussi de


convertir un objet séquentiel (liste ou tuple) en un
objet de type array
• Notez qu’un objet array ne peut contenir que des
valeurs numériques.

>>> b = [4,7,9] >>> l = [1,2,3]


>>> np.array(b) >>> tf= np.array(l,float)
>>> t= np.array(b) >>> print (tf)
>>> type (t) >>> type (tf)
6

Création de tableaux monodimensionnels

 La fonction numpy.arange() qui est équivalente


à range() permet de construire un tableau à une
dimension de manière simple :
>>> np.arange(10)
>>> np.arange(10.0)
>>> np.arange(10, 0,-1)
7

 Calcul avec des opérations effectuées élément


par élément dans le tableau sans boucle!
• Ce qui est commode lorsqu’on manipule de
grandes quantités de données
>>> v=np.arange(4)
>>> v
>>> v + 1
>>> v + 0.1
>>> v * 2
>>> v * v # ou autre opération (+,-,*,**,/)
8

Création de tableaux à 2dimensions : matrices

 La création de matrices se fait avec la fonction


numpy.ndarray() (N dimensional array)
>>> M=np.ndarray((2,2))
>>> print (M)
• création d’un tableau M de dimensions (2,2) et
contenant des valeurs aléatoires, par défaut
réelles, mais on peut changer leur type à l’aide
du paramètre dtype
>>> M=np.ndarray ((2,2), dtype=int) # print (M)
9

Création de tableaux à 2dimensions : matrices

 Autre façon :
• La création de matrice se fait avec la fonction
numpy.array() et une liste de liste
>>> A=np.array([[1,2,3],[3,4,5],[5,6,7]])
>>> print (A)
• La fonction tolist() permet de récupérer une
liste de liste à partir d’une matrice
>>> A.tolist()
10

Indiçage et accès
 Même indiçage que les listes
– Tableau à une dimension (vecteur)
>>> a = np.array([4,7,9])
>>> a[0]
>>> a[-1]
>>> a[-1]=5 ; print(a)
– Tableau à deux dimensions (matrice)
>>> m=np.array([[1,2,3],[3,4,5],[5,6,7]])
>>> m[1,1]
11

Slicing pour les vecteurs


 De la même manière que les listes
>>> a=np.arange(10)
>>> print (a)
>>> a[5:]
>>> a[::2]
12

Slicing pour les matrices


• Il est possible de sélectionner une sous matrice, en


ne gardant que quelques lignes consécutives et/ou
certaines colonnes consécutives
• Si M est une matrice
– M[ : , : ]  une copie intégrale de M avec nouvelle
référence
– M[ : a , : b]  sous matrice les lignes du début jusqu’à
< a > exclu, colonne de début jusqu’à <b> exclu.
– M[ : , b ]  colonne b +1
– M[ a , : ]  ligne a +1
13

Exemple:
 >>> A=np.array([[1,2,3],[3,4,5],[5,6,7]])
>>> A[ : , :]
>>> B=A[ : , : ]
>>> id(A), id(B)
>>> A[ 1 : , 2:]
>>> A[ 1 : , 1:]
>>> A[ : , 1:]
>>> A[ : 2 , :]
>>> A[ 1 , :]
>>> A[ : , 2]
14

La fonction numpy.size()
 La fonction numpy.size() renvoie le nombre
d’éléments du tableau :
>>> a = np.array([4,7,9,12])
>>> np.size(a)
>>> m=np.array([[1,2,3],[3,4,5],[5,6,7]])
>>> np.size(m)
15

La fonction numpy.shape()
 La fonction numpy.shape() renvoie la taille du
tableau :
>>> a = np.array([4,7,9,12])
>>> np.shape(a)
>>> m=np.array([[1,2,3],[3,4,5],[5,6,7]])
>>> np.shape (m)
16

produit terme à terme


 Il est possible de réaliser le produit terme à
terme grâce à l’op *
• Mais il faut que les deux tableau soient de
même taille
>>> a=np.array([[1,2,3],[3,4,5]])
>>> b=np.array([[8,6,3],[3,4,5]])
>>> a * b
17

La fonction numpy.dot()
 La fonction numpy.dot() permet de réaliser le
produit matriciel
• rappel : le produit d’une matrice de taille (n,m)
par une matrice (m,p) donne une matrice (n,p)
>>> a=np.array([[1,2,3],[3,4,5]])
>>> b=np.array([[8],[6],[3]])
>>> np.dot(a,b)
18

Somme
 >>> a=np.array([[1,2,3],[3,4,5]])
>>> a.sum (), a.max(), a.min()
>>> a.sum(axis=0) # somme des colonnes
>>> a.sum(axis=1) # somme des lignes
>>> r= np.sqrt(a) # print (r)
>>> e= np.exp(a) # print (e)
19

La fonction numpy.zeros()
 La fonction numpy.zeros() renvoie un tableau
de 0 :
>>> z = np.zeros(4)
>>> print (z)
>>> zz=np.zeros((3,3))
>>> print (zz)
>>> zzi=np.zeros((3,3),int)
>>> print (zzi)
20

La fonction numpy.ones()
 La fonction numpy.ones() renvoie un tableau
de 1 :
>>> o = np.ones(3)
>>> print (o)
>>> oi = np.ones(3,int)
>>> print (oi)
>>> ob = np.ones(3,bool)
>>> print (ob)
21

La fonction numpy.eye(n)
 La fonction numpy.eye(n) renvoie une matrice
identité d’ordre n :
>>> i = np.eye(3)
>>> print (i)
>>> i2 = np.eye(3,dtype=int)
>>> print (i2)
22

La fonction numpy.transpose()
 La fonction numpy.transpose() renvoie la
transposée d’une matrice donnée :
>>> b=np.array([[8,6,3],[3,4,5]])
>>> t=np.transpose(b)
23
Un peu d’algèbre linéaire
Numpy.linalg : un module d’algèbre linéaire

 np.dot(M): multiplication matricielle


• np.inner (M,scalaire) : produit scalaire
• np.diag ([liste_elt]) : création matrice diagonale
• np.transpose (M): matrice transposée
• np.linalg.det(M): déterminant de la matrice
• np.linalg.inv(M) : inverse de la matrice
• np.linalg.solve(A,B) : résolution du système
linéaire A
x=B
• np.linalg.eig(M): valeurs propres, vecteurs propres
• np.linalg.eigvals(M) :valeurs propres

Vous aimerez peut-être aussi