0% ont trouvé ce document utile (0 vote)
165 vues42 pages

Formation Python : Manipulation de données

Transféré par

Fatma Ben Mesmia
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
165 vues42 pages

Formation Python : Manipulation de données

Transféré par

Fatma Ben Mesmia
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Formation Python

Dr. Ing. Rim AYARI ABID

Contact: [Link]@[Link]

2021
Formation Python ORSYS Consultants 2/ 38
Manipulation des données

Plan

1 Manipulation des données


Manipulation des données avec Numpy
Manipulation des données avec Pandas

2 Visualiser les données à l’aide d’un graphique


Formation Python ORSYS Consultants 3/ 38
Manipulation des données
Manipulation des données avec Numpy

Manipulation des données avec Numpy

Numpy
➥ Le paquet NumPy (Numeric Python) fournit des routines de base pour manipuler de
grands tableaux et matrices de données numériques. Vous pouvez importer ce package :
import numpy as np
Or
from numpy import *

Les tableaux
➥ Les tableaux sont similaires aux listes en Python, sauf que chaque élément d’un tableau
doit être du même type.
➥ La fonction array() prend deux arguments : la liste à convertir dans le tableau et le type de
chaque membre de la liste.
a = [Link]([1, 4, 5, 8], float)
Formation Python ORSYS Consultants 4/ 38
Manipulation des données
Manipulation des données avec Numpy

Manipulation des données avec Numpy

Manipulation des tableaux


➥ Les éléments de tableau sont accessibles comme suit :
a = [Link]([1, 4, 5, 8], float)
a[:2]
a[3]
a[0] = 5
a

➥ Les tableaux peuvent être multidimensionnels. Les différents axes sont accédés à l’aide de
virgules à l’intérieur de la notation entre parenthèses.
a = [Link]([[1, 2, 3], [4, 5, 6]], float)
a[0,0] #vaut 1.0
a[1,:] #vaut [4. 5. 6.]
a[:,2] #vaut [3. 6.]
Formation Python ORSYS Consultants 5/ 38
Manipulation des données
Manipulation des données avec Numpy

Manipulation des données avec Numpy

Manipulation des tableaux


➥ Chaque tableau a les attributs ndim (le nombre de dimensions), shape (la taille de chaque
dimension) et size (la taille totale du tableau) :
x1 = [Link](10, size=6)
x2 = [Link](10, size=(3, 4))
x3 = [Link](10, size=(3, 4, 5))
print("x3 ndim: ", [Link])
print("x3 shape:", [Link])
print("x3 size: ", [Link])

Manipulation des tableaux


➥ La propriété dtype vous indique le type des éléments du tableau
➥ La fonction len renvoie la longueur du premier axe.
➥ L’instruction in peut être utilisée pour tester si des valeurs sont présentes dans un tableau.
[Link]
len(x1)
2 in x1
Formation Python ORSYS Consultants 6/ 38
Manipulation des données
Manipulation des données avec Numpy

Manipulation des données avec Numpy

Manipulation des tableaux


➥ Les tableaux peuvent être reformés en utilisant des tuples qui spécifient de nouvelles
dimensions. La fonction reshape() crée un nouveau tableau et ne modifie pas le tableau
d’origine.
a = [Link](range(10), float)
a
b = [Link]((5, 2))
b

➥ La fonction copy peut être utilisée pour créer une nouvelle copie distincte d’un tableau en
mémoire.
a = [Link]([1, 2, 3], float)
b = a
c = [Link]()
a[0] = 0
a #vaut array([0., 2., 3.])
b #vaut array([0., 2., 3.])
c #vaut array([1., 2., 3.])
Formation Python ORSYS Consultants 7/ 38
Manipulation des données
Manipulation des données avec Numpy

Manipulation des données avec Numpy

Manipulation des tableaux


➥ Vous pouvez construire une liste à partir d’un tableau
a = [Link]([1, 2, 3], float)
[Link]() #vaut [1.0, 2.0, 3.0]
list(a)#vaut [1.0, 2.0, 3.0]

➥ Vous pouvez construire une liste à partir d’un tableau


a = [Link]([[1, 2, 3], [4, 5, 6]], float)
[Link]() # vaut array([ 1., 2., 3., 4., 5., 6.])

➥ Vous pouvez utiliser la fonction arange() :


[Link](5, dtype=float)# array([ 0., 1., 2., 3., 4.])
[Link](1, 6, 2, dtype=int) #array([1, 3, 5])
Formation Python ORSYS Consultants 8/ 38
Manipulation des données
Manipulation des données avec Numpy

Manipulation des données avec Numpy

Manipulation des tableaux


➥ Vous pouvez utiliser les fonctions zéros et ones pour créer de nouveaux tableaux de
dimensions spécifiées
[Link]((2,3), dtype=float) #array([[1.,1.,1.], [1.,1.,1.]])
[Link](7, dtype=int) #array([0, 0, 0, 0, 0, 0, 0])

➥ Les fonctions zeroslike et oneslike créent un nouveau tableau avec les mêmes dimensions
et le même type que celui existant
a = [Link]([[1, 2, 3], [4, 5, 6]], float)
np.zeros_like(a) #array([[ 0., 0., 0.], [ 0., 0., 0.]])
np.ones_like(a) #array([[ 1., 1., 1.], [ 1., 1., 1.]])

➥ Vous pouvez créer une matrice d’identité d’une taille donnée


[Link](4, dtype=float)

➥ Vous pouvez créer une matrice avec 1 tout au long de la diagonale k


[Link](4, k=1, dtype=float)
Formation Python ORSYS Consultants 9/ 38
Manipulation des données
Manipulation des données avec Numpy

Manipulation des données avec Numpy

Opérations sur les tableaux


➥ Vous pouvez appliquer plusieurs opérations élément par élément sur les tableaux (Il faut
avoir la même taille des tableaux) :
a = [Link]([1,2,3], float)
b = [Link]([5,2,6], float)
a + b
a * b
b / a
a % b
b**a

➥ Les tableaux dont le nombre de dimensions ne correspond pas seront diffusés par Python
pour effectuer des opérations mathématiques(le plus petit tableau sera répété autant de fois
que nécessaire pour effectuer l’opération)
a = [Link]([[1, 2], [3, 4], [5, 6]], float)
b = [Link]([-1, 3], float)
a + b
Formation Python ORSYS Consultants 10/ 38
Manipulation des données
Manipulation des données avec Numpy

Manipulation des données avec Numpy

Opérations sur les tableaux


➥ NumPy propose une vaste bibliothèque de fonctions mathématiques communes pouvant
être appliquées aux tableaux : abs, sign, sqrt, log, log10, exp, sin, cos, tan, arcsin, arccos,
arctan, sinh, cosh, tanh, arcsinh, arccosh, ...
a = [Link]([1, 4, 9], float)
[Link](a) #vaut array([ 1., 2., 3.])

Itération sur les tableaux


➥ Il est possible d’itérer sur les tableaux d’une manière similaire à celle des listes
a = [Link]([1, 4, 5], int)
for x in a:
print x
a = [Link]([[1, 2], [3, 4], [5, 6]], float)
for x in a:
print x
a = [Link]([[1, 2], [3, 4], [5, 6]], float)
for (x, y) in a:
print (x * y)
Formation Python ORSYS Consultants 11/ 38
Manipulation des données
Manipulation des données avec Numpy

Manipulation des données avec Numpy

Itération sur les tableaux


➥ Il est possible de trouver les valeurs minimales et maximales des éléments
a = [Link]([2, 1, 9], float)
[Link]() #1.0
[Link]() #9.0

➥ Les fonctions argmin et argmax renvoient les indices dans le tableau correspondant à des
valeurs minimale et maximale
a = [Link]([2, 1, 9], float)
[Link]() #1
[Link]() #2

➥ Les tableaux peuvent être triés


a = [Link]([6, 2, 5, -1, 0], float)
sorted(a) #[-1.0, 0.0, 2.0, 5.0, 6.0]
[Link]()
a #array([-1., 0., 2., 5., 6.])
Formation Python ORSYS Consultants 12/ 38
Manipulation des données
Manipulation des données avec Numpy

Manipulation des données avec Numpy

Itération sur les tableaux


➥ Pour les tableaux multidimensionnels, chacune des fonction décrites jusqu’à présent peut
prendre un axe d’argument optionnel qui effectuera une opération uniquement sur l’axe
spécifié
a = [Link]([2, 1, 9], float)
[Link]() #1.0
[Link]() #9.0
a = [Link]([[0, 2], [3, -1], [3, 5]], float)
[Link](axis=0) #array([ 2., 2.])
[Link](axis=1) #array([ 1., 1., 4.])
[Link](axis=1) #array([ 0., -1., 3.])
[Link](axis=0) #array([3., 5.])

➥ Pour les tableaux à deux dimensions, la diagonale peut être extraite


a = [Link]([[1, 2], [3, 4]], float)
[Link]() #vaut array([ 1., 4.])
Formation Python ORSYS Consultants 13/ 38
Manipulation des données
Manipulation des données avec Numpy

Manipulation des données avec Numpy

Itération sur les tableaux


➥ Les tableaux entiers peuvent contenir des indices d’éléments à extraire d’un tableau.
a = [Link]([2, 4, 6, 8], float)
b = [Link]([0, 0, 1, 3, 2, 1], int)
a[b] # vaut array([ 2., 2., 4., 8., 6., 4.])
a = [Link]([[1, 4], [9, 16]], float)
b = [Link]([0, 0, 1, 1, 0], int)
c = [Link]([0, 1, 1, 1, 1], int)
a[b,c]# vaut array([ 1., 4., 16., 16., 4.])

➥ NumPy fournit des fonctions pour effectuer la multiplication de matrice-vecteur. Pour


effectuer un produit scalaire.
a = [Link]([1, 2, 3], float)
b = [Link]([0, 1, 1], float)
[Link](a, b)#vaut 5.0

➥ Le déterminant d’une matrice peut être trouvé :


a = [Link]([[4, 2, 0], [9, 3, 7], [1, 2, 1]], float)
[Link](a)
Formation Python ORSYS Consultants 14/ 38
Manipulation des données
Manipulation des données avec Pandas

Manipulation des données avec Pandas

Pandas
➥ Pandas est une librairie Python spécialisée dans l’analyse des données
➥ Les objets Pandas peuvent être considérés comme des versions améliorées de tableaux
structurés NumPy dans lesquels les lignes et les colonnes sont identifiées avec des
étiquettes plutôt que de simples indices entiers.
➥ Pour charger pandas dans la mémoire de Python, on utilise la commande import
habituelle :
import pandas

➥ Pandas est souvent chargé avec un nom raccourci, comme pour NumPy et matplotlib :
import pandas as pd
Formation Python ORSYS Consultants 15/ 38
Manipulation des données
Manipulation des données avec Pandas

Manipulation des données avec Pandas

La série Pandas
➥ Le premier type de données apporté par pandas est la serie, qui correspond à un vecteur à
une dimension de données indexées.
s = pd. Series ([10 , 20, 30, 40] , index = [’a’, ’b’, ’c’,
’d’])
s

➥ Avec pandas, chaque élément de la série de données possède une étiquette qui permet
d’appeler les éléments. Ainsi, pour appeler le premier élément de la série, on peut utiliser
son index, comme pour une liste (0 pour le premier élément) ou son étiquette (ici, "a") :
[Link]
[Link]
[Link]
s [0]
s["a"]
Formation Python ORSYS Consultants 16/ 38
Manipulation des données
Manipulation des données avec Pandas

Manipulation des données avec Pandas

La série Pandas
➥ On peut extraire plusieurs éléments, par leurs indices ou leurs étiquettes :
s [[1 ,3]]
s [["b","d"]]

➥ Les étiquettes permettent de modifier et d’ajouter des éléments :


s["c"] = 300
s["z"] = 50
s

➥ Enfin, on peut filtrer une partie de la series :


s[s >30]

➥ et même combiner plusieurs critères de sélection :


s[(s >20) & (s <100)]
Formation Python ORSYS Consultants 17/ 38
Manipulation des données
Manipulation des données avec Pandas

Manipulation des données avec Pandas

La série Pandas
➥ Contrairement à un dictionnaire,la série prend en charge les opérations de style tableau
telles que le découpage :
s[’b’:’d’]

➥ l’objet Series Pandas peut fonctionner comme un dictionnaire Python :


import pandas as pd
data = [Link]([0.25, 0.5, 0.75, 1.0],
index=[’a’, ’b’, ’c’, ’d’])
data
data[’b’]
’a’ in data
[Link]()
list([Link]())
data[’e’] = 1.25
data
Formation Python ORSYS Consultants 18/ 38
Manipulation des données
Manipulation des données avec Pandas

Manipulation des données avec Pandas

Le type DataFrame
➥ Un autre type d’objet introduit par pandas sont les dataframes. Ils correspondent à des
tableaux à deux dimensions avec des étiquettes pour nommer les lignes et les colonnes.
➥ Voici comment créer un dataframe avec pandas à partir de données fournies comme liste
de lignes
df = pd. DataFrame ( columns =["a", "b", "c", "d"],
index =["chat", "singe", "souris"],
data =[ np. arange (10 , 14) ,
np. arange (20 , 24) ,
np. arange (30 , 34)])
df

➥ Le dataframe est créé avec la fonction DataFrame() à laquelle on fournit plusieurs


arguments. L’argument columns indique le nom des colonnes, sous forme d’une liste.
Largument index définit le nom des lignes, sous forme de liste. L”argument data fournit le
contenu du dataframe, sous la forme d’une liste de valeurs correspondantes à des lignes.
Ainsi [Link](10, 14) qui est équivalent à [10, 11, 12, 13] correspond à la première ligne
du dataframe.
Formation Python ORSYS Consultants 19/ 38
Manipulation des données
Manipulation des données avec Pandas

Manipulation des données avec Pandas

Quelques propriétés de DataFrame


➥ Les dimensions d’un dataframe sont données par l’attribut .shape
df. shape

➥ L’attribut .columns renvoie le nom des colonnes et permet aussi de renommer les colonnes
d’un dataframe
df. columns

➥ La méthode .head(n) renvoie les n premières lignes du dataframe


df. head (2)

Sélection des données dans DataFrame


➥ Les mécanismes de sélection fournis avec pandas sont très puissants.
➥ Sélection de colonnes :
df ["Lyon"]
#Plusieurs colonnes
df [["Lyon", "Pau"]]
Formation Python ORSYS Consultants 20/ 38
Manipulation des données
Manipulation des données avec Pandas

Manipulation des données avec Pandas

Sélection des données dans DataFrame


➥ Sélection de lignes :Pour sélectionner une ligne, il faut utiliser l’instruction .loc() et
l’étiquette de la ligne :
[Link] ["singe"]
#Plusieurs lignes
[Link] [["singe", "chat"]]

➥ On peut aussi sélectionner des lignes avec l’instruction .iloc et l’indice de la ligne (la
première ligne ayant l’indice 0) :
[Link] [1]
[Link] [[1 ,0]]

➥ On peut également utiliser les tranches (comme pour les listes) :


[Link] [0:2]
Formation Python ORSYS Consultants 21/ 38
Manipulation des données
Manipulation des données avec Pandas

Manipulation des données avec Pandas

Sélection sur les lignes et les colonnes


➥ On peut bien sûr combiner les deux types de sélection (en ligne et en colonne) :
[Link] ["souris", "Pau"]
[Link] [["singe", "souris"], [’Nantes’, ’Lyon’]]

➥ Notez qu’à partir du moment où on souhaite effectuer une sélection sur des lignes, il faut
utiliser loc (ou iloc si on utilise les indices).

Sélection par condition


➥ On fait la Sélection de toutes les lignes pour lesquelles les effectifs à Pau sont supérieurs à
15. De cette sélection, on ne souhaite garder que les valeurs pour Lyon
df[ df ["Pau"] >15 ]
df[ df ["Pau"] >15 ]["Lyon"]

➥ On peut aussi combiner plusieurs conditions avec & pour l’opérateur "et", aussi | pour
l’opérateur "ou".
df[ (df ["Pau"] >15) & (df ["Lyon"] >25) ]
df[ (df ["Pau"] >15) | (df ["Lyon"] >25) ]
Formation Python ORSYS Consultants 22/ 38
Manipulation des données
Manipulation des données avec Pandas

Manipulation des données avec Pandas

Combiner des ensembles de données : Jointure


➥ Une fonctionnalité essentielle offerte par Pandas est ses opérations de jointure et de fusion
en mémoire hautes performances.
import pandas as pd
import numpy as np
df1 = [Link]({’employee’: [’Bob’, ’Jake’, ’Lisa’, ’Sue’],
’group’: [’Accounting’, ’Engineering’, ’Engineering’,
’HR’]})
df2 = [Link]({’employee’: [’Lisa’, ’Bob’, ’Jake’, ’Sue’],
’hire_date’: [2004, 2008, 2012, 2014]})
df3 = [Link](df1, df2)
df3

Combinaison datasets
➥ [Link] () peut être utilisé pour une simple concaténation d’objets Series ou DataFrame,
tout comme [Link] () peut être utilisé pour de simples concaténations de tableaux :
ser1 = [Link]([’A’, ’B’, ’C’], index=[1, 2, 3])
ser2 = [Link]([’D’, ’E’, ’F’], index=[4, 5, 6])
[Link]([ser1, ser2])
Formation Python ORSYS Consultants 23/ 38
Visualiser les données à l’aide d’un graphique

Plan

1 Manipulation des données

2 Visualiser les données à l’aide d’un graphique


Visualiser les données à l’aide d’un graphique avec matplotlib
Visualiser les données à l’aide d’un graphique avec pylab
Formation Python ORSYS Consultants 24/ 38
Visualiser les données à l’aide d’un graphique
Visualiser les données à l’aide d’un graphique avec matplotlib

Visualiser les données à l’aide d’un graphique

Plan de coordonnées cartésiennes


➥ Considérons une droite numérique, les entiers compris entre –3 et 3 sont marqués sur la
ligne
➥ Tous les nombres du côté droit de 0 sont positifs et ceux du côté gauche sont négatifs.
➥ Considérons maintenant deux lignes numériques.
➥ Les lignes numériques se coupent à angle droit et se croisent au point 0 de chaque ligne.
➥ Cela forme un plan de coordonnées cartésiennes, ou un plan x-y, avec la ligne numérique
horizontale appelée axe des x et la ligne verticale appelée axe des y.
➥ Vous décrivez le point A dans la figure avec deux nombres, x et y, généralement écrits sous
la forme (x, y) et appelés coordonnées du point.
Formation Python ORSYS Consultants 25/ 38
Visualiser les données à l’aide d’un graphique
Visualiser les données à l’aide d’un graphique avec matplotlib

Visualiser les données à l’aide d’un graphique

Plan de coordonnées cartésiennes


➥ Lorsque vous réalisez des graphiques avec Python, vous allez travailler avec des listes et
des tuples ou bien les tableaux de numpy.
➥ Dans la suite, vous allez utiliser des listes pour stocker les coordonnées x et y des points
que vous voulez tracer.
➥ Pour créer une liste, vous entrez les valeurs, séparées par des virgules, entre crochets.
➥ Vous pouvez créer une liste vide, puis utiliser la méthode append () pour ajouter des
éléments ultérieurement
➥ Vous pouvez également utiliser des index négatifs avec des listes et des tuples.
➥ Par exemple, list1 [-1] renvoie le dernier élément de la liste ET list1 [-2] renvoie
l’avant-dernier élément de la liste.
➥ Vous pouvez parcourir une liste ou un tuple en utilisant une boucle for

l = [1, 2, 3]
for item in l:
print(item)
Formation Python ORSYS Consultants 26/ 38
Visualiser les données à l’aide d’un graphique
Visualiser les données à l’aide d’un graphique avec matplotlib

Visualiser les données à l’aide d’un graphique

Plan de coordonnées cartésiennes


➥ Parfois, vous devrez peut-être connaître la position ou l’index d’un élément dans une liste
ou un tuple.
➥ Vous pouvez utiliser la fonction enumerate () pour parcourir tous les éléments d’une liste
et renvoyer l’index d’un élément ainsi que l’élément lui-même.
➥ Vous utilisez les étiquettes index et item pour nous y référer :

l = [1, 2, 3]
for index, item in enumerate(l):
print(index, item)

Graphique avec matplotlib


➥ Matplotlib est un package Python, ce qui signifie qu’il s’agit d’un ensemble de modules
avec des fonctionnalités associées.
➥ Vous pouvez commencer avec un graphique simple comportant seulement trois points : (1,
2), (2, 4) et (3, 6)
Formation Python ORSYS Consultants 27/ 38
Visualiser les données à l’aide d’un graphique
Visualiser les données à l’aide d’un graphique avec matplotlib

Package Matplotlib

Importation de Matplotlib
➥ Comme nous utilisons le raccourci np pour NumPy et le raccourci pd pour Pandas, nous
utiliserons des raccourcis standard pour les importations Matplotlib :
import matplotlib as mpl
import [Link] as plt

La fonction plot()
➥ L’instruction plot() permet de tracer des courbes qui relient des points dont les abscisses et
ordonnées sont fournies dans des tableaux.
x = array([1, 3, 4, 6])
y = array([2, 3, 5, 1])
plot(x, y)
Formation Python ORSYS Consultants 28/ 38
Visualiser les données à l’aide d’un graphique
Visualiser les données à l’aide d’un graphique avec matplotlib

Package Matplotlib

La fonction show()
➥ La fonction [Link] () recherche tous les objets de figure actuellement actifs et ouvre une
ou plusieurs fenêtres interactives qui affichent ces figures :
import [Link] as plt
import numpy as np
x = [Link](0, 10, 100)
[Link](x, [Link](x))
[Link](x, [Link](x))
[Link]()

La fonction subplot()
➥ La fonction subplot permet de regrouper plusieurs graphes, modélisé par un objet Figure
# create the first of two panels and set current axis
[Link](2, 1, 1) # (rows, columns, panel number)
[Link](x, [Link](x))
# create the second panel and set current axis
[Link](2, 1, 2)
[Link](x, [Link](x));
Formation Python ORSYS Consultants 29/ 38
Visualiser les données à l’aide d’un graphique
Visualiser les données à l’aide d’un graphique avec matplotlib

❶ Premier graphe
➥ Créer deux listes de nombres : l’une stocke les valeurs des coordonnées x de ces points et
l’autre les coordonnées y.
➥ Créer la courbe correspondant avec la fonction plot()
Formation Python ORSYS Consultants 29/ 38
Visualiser les données à l’aide d’un graphique
Visualiser les données à l’aide d’un graphique avec matplotlib

❶ Premier graphe
➥ Créer deux listes de nombres : l’une stocke les valeurs des coordonnées x de ces points et
l’autre les coordonnées y.
➥ Créer la courbe correspondant avec la fonction plot()
from [Link] import *
x_numbers = [1, 2, 3]
y_numbers = [2, 4, 6]
plot(x_numbers, y_numbers)

Repérer des points sur votre graphique


➥ Vous pouvez peut utiliser un argument de mot clé supplémentaire lors de l’appel de la
fonction plot () pour marquer les points :
plot(x_numbers, y_numbers, marker=’o’)

➥ Vous pouvez choisir parmi plusieurs options de marqueur, y compris "o", "*", "x" et "+".
➥ Vous pouvez créer un graphique qui ne marque que les points que vous avez spécifié, sans
aucune ligne les reliant, en supprimant marker
Formation Python ORSYS Consultants 30/ 38
Visualiser les données à l’aide d’un graphique
Visualiser les données à l’aide d’un graphique avec matplotlib

Visualiser les données à l’aide d’un graphique

❷ Deuxième graphe
➥ Les valeurs de température moyennes mesurées à une ville au cours des années 2005 à
2017 sont les suivantes : 25.9, 30.3, 30.4, 27.4, 35.5, 36.8, 28.8, 31.0, 32.0, 35.3, 34.0,
36.7 et 36.4 degrés
➥ Tracer la température en affichant les années correspondantes
nyc_temp = [25.9, 30.3, 30.4, 27.4, 35.5, 36.8, 28.8, 31.0,
32.0, 35.3, 34.0, 36.7, 36.4 ]
years = range(2005, 2018)
plot(years, nyc_temp, marker=’o’)
Formation Python ORSYS Consultants 30/ 38
Visualiser les données à l’aide d’un graphique
Visualiser les données à l’aide d’un graphique avec matplotlib

Visualiser les données à l’aide d’un graphique

❷ Deuxième graphe
➥ Les valeurs de température moyennes mesurées à une ville au cours des années 2005 à
2017 sont les suivantes : 25.9, 30.3, 30.4, 27.4, 35.5, 36.8, 28.8, 31.0, 32.0, 35.3, 34.0,
36.7 et 36.4 degrés
➥ Tracer la température en affichant les années correspondantes
nyc_temp = [25.9, 30.3, 30.4, 27.4, 35.5, 36.8, 28.8, 31.0,
32.0, 35.3, 34.0, 36.7, 36.4 ]
years = range(2005, 2018)
plot(years, nyc_temp, marker=’o’)

➥ créer trois listes pour stocker la température. Chaque liste sera composée de 12 chiffres
correspondant à la température moyenne de janvier à décembre de chaque année
nyc_temp_2005 = [30.3, 21.3, 22.2, 27.0, 25.5, 20.3, 19.3,
32.7, 29.0, 26.0, 25.3, 25.1]
nyc_temp_2010 = [40.3, 41.3, 38.2, 39.0, 20.9, 21.3, 20.3,
35.6, 38.0, 37.0, 32.1, 31.0]
nyc_temp_2017 = [36.3, 32.3, 31.2, 40.0, 22.4, 20.2, 19.3,
32.9, 39.0, 36.2, 31.2, 30.0]

➥ Vous pouvez tracer les trois ensembles de données sur trois graphiques différents.
Formation Python ORSYS Consultants 31/ 38
Visualiser les données à l’aide d’un graphique
Visualiser les données à l’aide d’un graphique avec matplotlib

Visualiser les données à l’aide d’un graphique

❷ Deuxième graphe
➥ Mais pour pouvoir les comparer, vous pouvez les tracer sur un même graphique
months = range(1, 13)
plot(months, nyc_temp_2005, months,
nyc_temp_2010, months, nyc_temp_2017)

➥ Vous pouvez aussi appeler la fonction plot trois fois


plot(months, nyc_temp_2005)
plot(months, nyc_temp_2010)
plot(months, nyc_temp_2017)
Formation Python ORSYS Consultants 31/ 38
Visualiser les données à l’aide d’un graphique
Visualiser les données à l’aide d’un graphique avec matplotlib

Visualiser les données à l’aide d’un graphique

❷ Deuxième graphe
➥ Mais pour pouvoir les comparer, vous pouvez les tracer sur un même graphique
months = range(1, 13)
plot(months, nyc_temp_2005, months,
nyc_temp_2010, months, nyc_temp_2017)

➥ Vous pouvez aussi appeler la fonction plot trois fois


plot(months, nyc_temp_2005)
plot(months, nyc_temp_2010)
plot(months, nyc_temp_2017)

➥ La fonction legend () permet d’ajouter une légende au graphique


months = range(1, 13)
plot (months, nyc_temp_2005, months, nyc_temp_2010,
months, nyc_temp_2017)
legend([2005, 2010, 2017])
Formation Python ORSYS Consultants 32/ 38
Visualiser les données à l’aide d’un graphique
Visualiser les données à l’aide d’un graphique avec matplotlib

Visualiser les données à l’aide d’un graphique

❷ Deuxième graphe
➥ Vous pouvez spécifier un second argument à la fonction qui spécifiera la position de la
légende. Par défaut, il est toujours placé en haut à droite du graphique.
➥ Vous pouvez spécifier une position particulière, telles que ’lower center’, ’center left’, and
’upper left’
months = range(1, 13)
plot(months, nyc_temp_2005, months, nyc_temp_2010, months,
nyc_temp_2017)
legend([2005, 2010, 2017],loc=’lower center’)

➥ Pour ajouter un titre au graphique, vous allez utiliser la fonction title ()


➥ Pour ajouter des étiquettes aux axes x et y du graphique, vous allez utiliser les fonctions
xlabel () et ylabel ()
Formation Python ORSYS Consultants 33/ 38
Visualiser les données à l’aide d’un graphique
Visualiser les données à l’aide d’un graphique avec pylab

Introduction à PyLab
➥ PyLab permet d’utiliser de manière aisée les bibliothèques NumPy et matplotlib pour de la
programmation scientifique avec Python.
➥ utilise la fonction arange() de numpy : la difference entre range() et arange() est qu’elle
retourne un tableau à la différence de range(). Tester :
from pylab import *
m = arange(3,15,2)
m
print(m)

➥ utilise la fonction linspace() de 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. Tester :
from pylab import *
linspace(3,9,10)
Formation Python ORSYS Consultants 34/ 38
Visualiser les données à l’aide d’un graphique
Visualiser les données à l’aide d’un graphique avec pylab

Visualiser les données à l’aide d’un graphique

❷ Deuxième graphe

from pylab import plot, title, xlabel, ylabel, legend


months = range(1, 13)
plot(months, nyc_temp_2005, months, nyc_temp_2010,
months, nyc_temp_2017)
legend([2005, 2010, 2017],loc=’lower center’)
title(’Average monthly temperature’)
xlabel(’Month’)
ylabel(’Temperature’)
➥ Vous pouvez ajuster la plage des axes en utilisant la fonction axis ()
from pylab import axis
nyc_temp = [25.9, 30.3, 30.4, 27.4, 35.5, 36.8, 28.8,
31.0, 32.0, 35.3, 34.0, 36.7, 36.4 ]
plot(nyc_temp, marker=’o’)
axis()
axis(ymin=0)
axis ([0, 10, 0, 50])
Formation Python ORSYS Consultants 35/ 38
Visualiser les données à l’aide d’un graphique
Visualiser les données à l’aide d’un graphique avec pylab

Visualiser les données à l’aide d’un graphique

Sauvgarder les figures


➥ Si vous avez besoin de sauvegarder vos graphiques, vous pouvez le faire en utilisant la
fonction savefig ().
➥ Cette fonction enregistre le graphique sous forme de fichier image.
from pylab import plot, savefig
x = [1, 2, 3]
y = [2, 4, 6]
plot(x, y)
savefig(’[Link]’)

La liste des types de fichiers


’eps : ’Encapsulated Postscript’, ’jpeg’ : ’Joint Photographic Experts Group’, ’jpg’ : ’Joint
Photographic Experts Group’, ’pdf’ : ’Portable Document Format’, ’pgf’ : ’PGF code for
LaTeX’, ’png’ : ’Portable Network Graphics’, ’ps’ : ’Postscript’, ’raw’ : ’Raw RGBA bitmap’,
’rgba’ : ’Raw RGBA bitmap’, ’svg’ : ’Scalable Vector Graphics’, ’svgz’ : ’Scalable Vector
Graphics’, ’tif’ : ’Tagged Image File Format’, ’tiff’ : ’Tagged Image File Format’
Formation Python ORSYS Consultants 36/ 38
Visualiser les données à l’aide d’un graphique
Visualiser les données à l’aide d’un graphique avec pylab

Visualiser les données à l’aide d’un graphique

❷ Deuxième graphe
➥ Soit f (x) = x - (x - 1)*sin(x)
➥ Dessiner la courbe qui modélise f(x), x étant une liste entre -3 et 3
Formation Python ORSYS Consultants 36/ 38
Visualiser les données à l’aide d’un graphique
Visualiser les données à l’aide d’un graphique avec pylab

Visualiser les données à l’aide d’un graphique

❷ Deuxième graphe
➥ Soit f (x) = x - (x - 1)*sin(x)
➥ Dessiner la courbe qui modélise f(x), x étant une liste entre -3 et 3
from matplotlib import pyplot as plt
from math import *
x = range(-3, 3)
y=[]
for i in x:
[Link](i - (i-1)*sin(i))
[Link](x, y)
Formation Python ORSYS Consultants 37/ 38
Visualiser les données à l’aide d’un graphique
Visualiser les données à l’aide d’un graphique avec pylab

Visualiser les données à l’aide d’un graphique

Exemple

import numpy as np
from matplotlib import pyplot as plt

from [Link] import make_blobs


X,y = make_blobs(100, 2, centers=2, random_state=2, cluster_std=1.5)

fig, ax = [Link]()
[Link](X[:, 0], X[:, 1], c=y, s=50, cmap=’RdBu’)
ax.set_title(’Naive Bayes Model’, size=14)

xlim = (-8, 8)
ylim = (-15, 5)

xg = [Link](xlim[0], xlim[1], 60)


yg = [Link](ylim[0], ylim[1], 40)
xx, yy = [Link](xg, yg)
Xgrid = [Link]([[Link](), [Link]()]).T
Formation Python ORSYS Consultants 38/ 38
Visualiser les données à l’aide d’un graphique
Visualiser les données à l’aide d’un graphique avec pylab

Visualiser les données à l’aide d’un graphique

Exemple

for label, color in enumerate([’red’, ’blue’]):


mask = (y == label)
mu, std = X[mask].mean(0), X[mask].std(0)
P = [Link](-0.5 * (Xgrid - mu) ** 2 / std ** 2).prod(1)
Pm = [Link].masked_array(P, P < 0.03)
[Link](xg, yg, [Link]([Link]), alpha=0.5,
cmap=[Link]() + ’s’)
[Link](xx, yy, [Link]([Link]),
levels=[0.01, 0.1, 0.5, 0.9], colors=color,
alpha=0.2)
[Link](xlim=xlim, ylim=ylim)
[Link](’C:\[Link]’)

Vous aimerez peut-être aussi