Vous êtes sur la page 1sur 24

SCIENCES DES DONNÉES APPLIQUÉES (fONDAMENTALES)

Cours 4

• Année : 2022/2023
Responsable Module Mr. Khalid El Fayq • Session : 8 – Hiver 2022
ère • Volume horaire 64
Niveau 4 Année
• Crédits : 4
Filière Génie informatique

1
The numpy, Matplotlib and Pandas

• Introduction to NumPy and Matplotlib.

• Introduction to Matplotlib.

• Introduction to Pandas.

2
3
4
5
Introduction a NumPy et Matplotlib.
Qu'est-ce que NumPy ?
• Le terme NumPy est en fait l’abréviation de ” Numerical Python “. Il
s’agit d’une bibliothèque Open Source en langage Python. On utilise
cet outil pour la programmation scientifique en Python, et notamment
pour la programmation en Data Science, pour l’ingénierie, les
mathématiques ou la science.
• Cette bibliothèque est très utile pour effectuer des opérations
mathématiques et statistiques en Python. Elle fonctionne à merveille
pour la multiplication de matrices ou de tableaux multidimensionnels.
L’intégration avec C/C++ et Fortran est très facile.

6
Comment fonctionne NumPy ?

• Cette plateforme comprend des objets multidimensionnels dans des


” arrays “, et un package regroupant des outils d’intégration pour
l’implémentation Python. Pour faire simple, NumPy est un mélange
entre C et Python qu’on utilise en alternative à la programmation
MATLAB traditionnelle.
• Les données, sous forme de nombres, sont traitées en tant qu’arrays
(tableaux) pour des fonctions multidimensionnelles et des
opérations de réarrangement. Il s’agit d’un outil très utilisé dans le
domaine de la Data Science.

7
Il faut au départ importer le package numpy avec l’instruction suivante :

>>> import numpy as np

Variable pi

NumPy permet d’obtenir la valeur de pi.

>>> np.pi
3.141592653589793

9
Fonctions trigonométrique

numpy.sin(x) sinus
numpy.cos(x) cosinus
numpy.tan(x) tangente
numpy.arcsin(x) arcsinus
numpy.arccos(x) arccosinus
numpy.arctan(x) arctangente

a = np.sin(30)
b = np.cos(30)
c = np.tan(30)
Radians not Degree
print(a,b,c)

a = np.sin(30 * np.pi/180)
a = np.sin(np.deg2rad(30))
Fonctions diverses

x**n x à la puissance n, exemple : x**2


numpy.sqrt(x) racine carrée
numpy.exp(x) exponentielle
numpy.log(x) logarithme népérien
numpy.abs(x) valeur absolue
numpy.sign(x) Signe
numpy.ceil() & numpy.floor renvoie le plafond ou plancher des
éléments du tableau

Arrondis
numpy.around(x,n) arrondi à n décimales
numpy.trunc(x) retourne la partie entière du nombre (le
nombre est tronqué)

11
Exemple

a = np.around(3.48888)
b = np.around(3.75058)
c = np.around(3.75058,1)
d = np.around(3.75058,2)

print(a,b,c,d)

La fonction numpy.sign(array [, out]) est utilisée pour indiquer le signe d'un nombre élément par élément.
Pour les entrées entières, si la valeur du tableau est supérieure à 0, elle renvoie 1, si la valeur du tableau est inférieure
à 0, elle renvoie -1 et si la valeur du tableau est 0, elle renvoie 0.

array1 = [1, 0, -13]


array2 = [-1, 0, 15]
# determine the sign of integer numbers in an array
print ("\nCheck sign of array1 : ", np.sign(array1))
print ("\nCheck sign of array2 : ", np.sign(array2))
Creating a 5x5 array of zeroes

arr2 = np.zeros((5,5))
(arr2)

[[0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0.]]

13
Tableaux - numpy.array()
Création
Les tableaux (en anglais, array) peuvent être créés avec numpy.array(). On utilise des crochets pour
délimiter les listes d’éléments dans les tableaux.
>>> a = np.array([1, 2, 3, 4])
>>> a
array([1, 2, 3, 4])
>>> type(a)
numpy.ndarray

On voit que l’on a obtenu un objet de type numpy.ndarray.


Accès aux éléments d’un tableau
Avertissement
Comme pour les listes, les indices des éléments commencent à zéro.
>>> a[0]
1
>>> a[3] ?????
14
Tableau 2D
Il est possible de créer un tableau 2D en utilisant une liste de listes au moyen de crochets imbriqués.
Les listes internes correspondent à des lignes du tableau.
>>> b = np.array([[1, 2, 3], [4, 5, 6]])
Affichage
>>> b
array([[1, 2, 3], [4, 5, 6]])
>>> type(b)
numpy.ndarray

Accès aux éléments d’un tableau 2D


On utilise une syntaxe avec deux indices. Le premier indice est l’indice de la ligne du tableau.
>>> b[0,1]
2
>>> b[1,2]
6
15
La fonction numpy.arange()

np.arange(start, stop, step) renvoie un tableau de nombres à partir de start jusqu'à mais non compris stop, par
étapes de step; la taille de pas par défaut étant 1.

>>> m = np.arange(3, 15, 2)


>>> m
array([ 3, 5, 7, 9, 11, 13])
>>> type(m)
numpy.ndarray

Noter la différence entre numpy.arange() et range() :

•numpy.arange() retourne un objet de type numpy.ndarray.


•range() retourne un objet de type range.
>>> n = (3, 15, 2)
>>> n range(3, 15, 2)
>>> type(n)
range
16
Ceci est également à distinguer d’une liste.

>>> u = [3, 7, 10]


>>> type(u)
List

Il est possible d’obtenir des listes en combinant list et range().

>>> list(range(3, 15, 2))


[3, 5, 7, 9, 11, 13]

numpy.arange() accepte des arguments qui ne sont pas entiers.


>>> np.arange(0, 11*np.pi, np.pi) ar = np.array([range(i, i+4) for i in [4,6,9,1]])

array([ 0. , 3.14159265, 6.28318531, 9.42477796,


12.56637061, 15.70796327, 18.84955592, 21.99114858,
25.13274123, 28.27433388, 31.41592654])

17
La fonction numpy.linspace()

numpy.linspace() permet d’obtenir un tableau 1D allant d’une valeur de départ à une valeur de
fin avec un nombre donné d’éléments.
>>> np.linspace(3, 9, 10)
array([ 3. , 3.66666667, 4.33333333, 5. , 5.66666667,
6.33333333, 7. , 7.66666667, 8.33333333, 9. ])

Action d’une fonction mathématique sur un tableau


NumPy dispose d’un grand nombre de fonctions mathématiques qui peuvent être appliquées directement à
un tableau. Dans ce cas, la fonction est appliquée à chacun des éléments du tableau.
>>> x = np.linspace(-np.pi/2, np.pi/2, 3)
>>> x
array([-1.57079633, 0. , 1.57079633])
>>> y = np.sin(x)
>>>
y array([-1., 0., 1.])
18
Fixed_type

Set the Data type

19
Commande Bibl. Résultat
matrix([[a,b .. d], [e,f ..,h], ..]) numpy Représente la matrice
m[i,j] numpy Représente l'élément de la matrice
m.shape numpy Renvoie la taille de la matrice sous forme d'une liste
m[i,:] numpy Extrait la -ème ligne de la matrice
m[:,i] numpy Extrait la -ème colonne de la matrice
zeros([n,p]) numpy Représente la matrice nulle de taille
eye(n,p) numpy Représente la matrice identité de taille
ones([n,p]) numpy Représente la matrice de coefficients 1 de taille
asarray(m) numpy Transforme une matrice en tableau
asmatrix(m) numpy Transforme un tableau en matrice
norm(m) numpy.linalg Norme de la matrice
transpose(m) numpy Transposée de la matrice
det(m) numpy.linalg Déterminant de la matrice

20
21
Vous avez la possibilité de remplir le tableau avec n’importe quelle donnée grâce à la méthode np.full() :

Il est possible de créer une matrice identité grâce à la méthode np.eye(). Une matrice identité est une matrice
carrée qui a que des 1 sur sa diagonale et 0 partout ailleurs, comme ceci :

22
Les tableaux régulièrement espacés s’obtiennent grâce à la méthode np.arange(). Le but est d’obtenir un
tableau avec des valeurs espacées d’un pas régulier. Il faut savoir que l’intervalle est comme ceci : [début,
fin] ou le dernier nombre ne sera pas pris.

23
Exercice 1

A l'aide de la bibliothèque numpy, créer une matrice du type 3x3 formée des entiers 1 , 2 , 3 , ... , 9.

24

Vous aimerez peut-être aussi