Nothing Special   »   [go: up one dir, main page]

Chapitre 2 Array in Python

Télécharger au format pdf ou txt
Télécharger au format 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
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

 >>> 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() 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() 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

 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() 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

 >>> 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() 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() 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) 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() 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