Vous êtes sur la page 1sur 144

Programmer en

Python – Niveau 1

Nicolas Runtz
Octobre 2019
Programme

1. Python: présentation d’un langage de programmation


interprété

• Comprendre le fonctionnement d’un langage de programmation


• Les caractéristiques du langage python et ses applications
• L’interpréteur Python et son environnement de développement
• Présentation du langage python
• Les packages

2. Les variables

• Comprendre le fonctionnement d'une variable


• Règle de syntaxe des variables

3. Les fonctions
Programme

4. Retour sur les variables : présentation des variables les plus


utilisées

5. Les structures conditionnelles : If, Elif, Else

6. Les boucles

7. Les exceptions

8. La gestion des fichiers


• Gestion des répertoires
• Lecture/Ecriture de fichiers
Programme

9. Les tableaux
• Créer et manipuler les tableaux avec Numpy

10. Les DataFrames


• Créer et manipuler les DataFrames avec Pandas

11. API Bloomberg


• Requêter des données Bloomberg en Python

12. Les graphiques


• Créer ses premiers graphiques avec Matplotlib
Python: présentation d’un langage de programmation interprété
Comprendre le fonctionnement d’un langage de
programmation

Le langage machine
C’est un langage binaire uniquement constitué de 0 et de 1.

Les langages de programmation


On saisit des instructions en anglais avec une syntaxe
particulière qu’il est nécessaire de respecter.
Ensuite ces instructions sont traduites en langage machine
pour que l’ordinateur puisse exécuter le code.

Source:
www.openclassroom.com

REPRODUCTION INTERDITE
Comprendre le fonctionnement d’un langage de
programmation

Langage de programmation interprété


Les instructions sont « transcrites » en langage machine au
fur et à mesure de leur lecture.
Exemples de langages interprétés : Python et R.

Langage de programmation compilés


Les instructions sont d’abord transformées en langage
machine par un logiciel spécialisé. On appelle cette étape la
« compilation ».
Ensuite on exécute le programme compilé.
Exemples de langages compilés : C, C++ ou encore Java.

REPRODUCTION INTERDITE
Les caractéristiques du langage python et ses
applications

Python est un langage interprété simple et puissant.

Inventé par Guido van Rossum en 1991, il n’a cessé d’évoluer pour
devenir un langage très utilisé aujourd’hui.

L’environnement Python est riche en librairies.


Langage les plus utilisés en
Il est utilisé dans toutes les entreprises 2019

technologiques et commence à se
80%
70%
60%

développer dans la finance comme le 50%


40%
68% 64%
montre le projet Bloomberg BQUANT.
30%
54%
20% 42% 41%
10%
0% Javascript HTML/CSS SQL Python
Java

L’IA amplifie fortement le phénomène Python. Stack Overflow 2019 Developer Survey

REPRODUCTION INTERDITE
Installer Python dans un environnement Windows

Pour l’installation de Python je recommande d’installer


Anaconda.
C’est une plateforme de développement Python qui contient
tous les packages standards comme Numpy, Pandas,
Matplotlib…

Allez sur le site https://www.anaconda.com/


– Cliquez sur Products et Anaconda Distribution
– Choisissez la dernière version de Python 3 disponible (version 64-
Bit ou 32-Bit)
– Enregistrez puis exécutez le fichier d’installation et suivez les
étapes

Lancez Anaconda Prompt et c’est parti !

REPRODUCTION INTERDITE
L’interpréteur Python et son environnement de
développement

Pour démarrer Python tapez la commande « Python » puis pressez


Entrée

Les 3 chevrons >>> indique que l’interpréteur python est prêt à


recevoir des instructions.
L’interpréteur Python permet de saisir des lignes de commandes et
de les exécuter au fur et à mesure.
Saisir sa première ligne de code. Allez-y !

REPRODUCTION INTERDITE
L’interpréteur Python et son environnement de
développement

IDE (Integrated Development Environment) : Spyder,


PyCharm et Visual Studio.

Explorateur de
variables

Fichier python
qui est exécuté

Interpréteur
Python

REPRODUCTION INTERDITE
L’interpréteur Python et son environnement de
développement

Jupyter Notebook une alternative très pratique.


On exécute des blocs d’instructions et on debugge avec la commande
« print() ».
L’utilisation de Jupyter Notebook est conseillée pour les petits
développements qui doivent être mis en production rapidement.

REPRODUCTION INTERDITE
L’interpréteur Python et son environnement de
développement

Pour ouvrir Jupyter Notebook :


• Ouvrir Anaconda Prompt
• Tapez la commande « jupyter notebook »
• Pour ouvrir jupyter dans un répertoire cible
tapez « jupyter notebook ‘C:\...’ »

REPRODUCTION INTERDITE
L’interpréteur Python et son environnement de
développement
Ouvrir un Notebook Python 3 :
• Cliquez sur New à droite de l’écran
puis sélectionnez Python 3

L’onglet Running permet de suivre les


Notebooks en cours.

REPRODUCTION INTERDITE
L’interpréteur Python et son environnement de
développement

Sauvegarder un notebook en fichier « .py »

Cliquez sur File dans le menu.

Allez sur Download as

Sélectionnez Python (.py)

REPRODUCTION INTERDITE
Présentation du langage python

LANGAGE : un vocabulaire et une grammaire pour faire des phrases.


OBJET : un élément informatique sur lequel on peut agir.

Un OBJET est définie par

Ses ATTRIBUTS Ses METHODES

Ce sont les CARACTERISTIQUES de l’objet


(taille, type etc…)
Ce sont les ACTIONS attachées à l’objet
On peut : (fonctions mathématiques, mise en forme d’un
1. Soit interroger ces propriétés : texte etc…)
VARIABLE = OBJET.ATTRIBUT
OBJET. METHODE
2. Soit les modifier (si c’est possible) :
OBJET.ATTRIBUT = VARIABLE

REPRODUCTION INTERDITE
Présentation du langage python

a = np.array([[1,3,5],[2,4,6]]) montexte = « hello »

INTERROGER ses propriétés :


VARIABLE = OBJET.ATTRIBUT
ACTIONS attachées à l’objet
dimension = a.shape
OBJET.METHODE()
La variable dimension stocke la taille de
l’objet a qui est (2,3)
montexte.upper()
Transforme tous les caractères en
Les MODIFIER :
OBJET.PROPRIETE = VALEUR
majuscules.
a.shape = (3,2)
La taille de l’objet a est maintenant (3,2)

REPRODUCTION INTERDITE
Présentation du langage python

On crée un tableau avec 2 lignes et 3 colonnes


On affiche l’objet a

On retourne la valeur de l’attribut shape de l’objet a

On modifie la dimension de l’objet a

On affiche l’objet a modifié

« # » pour écrire des commentaires


L’objet montexte prend la valeur « hello »
On appelle la fonction upper pour mettre le texte en
majuscule

REPRODUCTION INTERDITE
Les packages

Python possède comme caractéristique d’avoir accès à un grand nombre de librairies.

Pour importer une librairie déjà installée, on tape la commande « import » suivi du
nom du package.
Attention le package doit être installé dans le PYTHON PATH (liste des répertoires).

Pour utiliser une fonction du package importé, on utilise la syntaxe suivante :


« nom_package.nom_fonction »

Autres méthodes pour importer les packages :

• « from math import sqrt » On importe uniquement la fonction sqrt du package math. On utilisera
directement sqrt(…)

• « from math import * » On importe tout le contenu du package (à éviter !)

• « import math as mt » On importe le package math mais on l’utilisera avec « mt ». Pour appelé une
fonction du package on fera mt.sqrt(…) et non math.sqrt()

REPRODUCTION INTERDITE
Les packages

Le python PATH est une liste de répertoire qui contient notamment le


répertoire par défaut d’installation des nouveaux packages.

On peut afficher cette liste avec une fonction du package sys :

Pour ajouter un répertoire à cette liste on tape la commande :

On peut maintenant importer n’importe quel module personnel stocké dans le


répertoire ci-dessus (import monmodule).

REPRODUCTION INTERDITE
Les packages

Pour afficher la liste des packages installés on tape la commande :


• Dans anaconda prompt : « conda list »
• Dans une console python : « help("modules") »

Si le package n’est pas disponible il faut le télécharger et l’installer avec anaconda.


Pour cela on utilise la commande « conda install packagename » dans Anaconda
Prompt.

On peut également rechercher un package avec la commande « conda search


myname ».

Par défaut Anaconda va chercher le package sur une channel (un serveur) mais
certains packages peuvent se trouver sur d’autres serveurs.
Pour trouver la channel associée à un package, il faut faire une recherche sur le
site https://anaconda.org

Pour installer un package via une autre channel on utilise


la syntaxe : « conda install –c channelname packagename »

REPRODUCTION INTERDITE
Les packages

Installer un package à partir d’un fichier local :


« conda install --offline C:\nomdufichier.tar.bz2 »

Mettre à jour un package :


« conda update packagename »

Supprimer un package installé :


« conda remove packagename »

REPRODUCTION INTERDITE
Les packages

Pour ceux qui n’utilisent pas anaconda, la gestion des packages


se fait avec la librairie pip.

Pour installer un nouveau package on tape la commande :


« pip install packagename »

Pour mettre à jour un package :


« pip install --upgrade packagename »

Pour installer un package à partir d’un fichier local :


« pip install ./downloads/filename.tar.gz »

REPRODUCTION INTERDITE
Les variables
Comprendre le fonctionnement d'une variable

Les variables servent à stocker et manipuler des informations.

Une variable possède :


• Un nom qui permet d’accéder aux données qu’elle contient « maVariable »
• Un type de données :
– Nombre: integer, float
– Texte: string
– Date: datetime
– Logique: boolean

En python on ne déclare aucune variable, elles sont typées automatiquement.

Le symbole = est un symbole d’affectation, suivant le schéma :


Ecriture = Lecture
• Le coté LECTURE est le côté qui est évalué
i=0
• Le coté ECRITURE est le côté qui indique ce qui sera altéré, modifié, affecté i=i+1

REPRODUCTION INTERDITE
Règle de syntaxe des variables

Le nom d’une variable doit être composé uniquement de lettres, de


majuscules ou minuscules, de chiffres et du symbole « _ ».

Le nom d’une variable ne peut pas commencer par un chiffre.

Le langage Python est sensible à la casse.

Quelques conventions :
• mon_age
• monAge

Les mots clés réservés

REPRODUCTION INTERDITE
Les fonctions
Qu’est-ce qu’une fonction
Une fonction est une suite d’instructions qui renvoie une valeur. Si elle ne renvoie rien on
parle alors de procédure.

Leur syntaxe est toujours de la forme:


def mafonction(arg1,arg2…):
bloc d’instructions
return mavaleur

def est le mot-clé qui prélude à toute construction de fonction.


Ne pas oublier le « : » qui clôture toujours la première ligne.

Les instructions sur les lignes suivantes doivent être indentées (touche « TAB »).
return est le mot-clé pour que la fonction renvoie une valeur.

REPRODUCTION INTERDITE
Les paramètres d'une fonction
Les paramètres sont des variables que l’on utilisera ensuite dans le bloc
d’instruction de la fonction.

Une fonction peut ne pas avoir de paramètre.

Si une fonction est définie avec des paramètres, ils doivent être obligatoirement
renseignés.

Sinon il faut spécifier une valeur par défaut pour le paramètre.


Après un paramètre par défaut, on ne pourra plus rajouter de paramètre sans
valeur par défaut.

REPRODUCTION INTERDITE
Les fonctions natives

Il existe des fonctions natives à python (ou « built-in »).


En voici la liste.

REPRODUCTION INTERDITE
La fonction print()

La fonction print() permet d’afficher du texte ou des variables.


Elle est très utilisée par les développeurs pour debugger.
On peut l’utiliser dans une fonction pour afficher des résultats
intermédiaires.

REPRODUCTION INTERDITE
Créer sa première fonction

Créer une fonction qui retourne le prix forward d’un


actif ne versant pas de dividende.
On négligera les coûts de portage.

Pour la fonction exponentielle il faudra importer le


package « math ».

REPRODUCTION INTERDITE
Créer sa première fonction

Créer une fonction qui retourne le prix forward d’un actif ne versant pas
de dividende.
On négligera les coûts de portage.

Pour la fonction exponentielle il faudra importer le package « math ».

REPRODUCTION INTERDITE
Créer sa première fonction

Créer une fonction qui retourne le prix forward d’un actif ne versant pas
de dividende.
On négligera les coûts de portage.

Pour la fonction exponentielle il faudra importer le package « math ».

REPRODUCTION INTERDITE
Retour sur les variables
Utilisation des chaines de caractères et méthodes associées

Les chaines de caractères sont un type de donnée qui permettent de stocker une
série de lettres (ou de caractères).

On peut écrire du texte :


• Entre guillemets « Bonjour »
• Ou entre apostrophes ‘Bonjour’

Attention si le texte contient des guillemets ou des apostrophes.

Il faut échapper l’apostrophe qui se trouve après le m avec l’anti-slash « \ ».

REPRODUCTION INTERDITE
Utilisation des chaines de caractères et méthodes associées

Le caractère d’échappement « \ » suivi de la lettre « n » est un retour à la


ligne.

Pour écrire un anti-slash dans une phrase, il faut l’échapper.

On peut ajouter des chaines de caractères entre elles avec « + ».

concaténation de deux chaines


de caractères.

REPRODUCTION INTERDITE
Utilisation des chaines de caractères et méthodes associées

Les chaines de caractères sont considérées comme des séquences, c’est-


à-dire des collections ordonnées d’éléments.
En d’autres termes les caractères d’une chaine sont toujours disposés
dans un certain ordre.

Par conséquent, chaque caractère d’une chaine peut être désigné par sa
place dans la séquence à l’aide d’un indice.
On utilise les crochets pour accéder aux éléments d’une chaine de
caractères.

REPRODUCTION INTERDITE
Utilisation des chaines de caractères et méthodes associées

On peut aussi récupérer une suite de caractères en utilisant la syntaxe


« slice »(découpage).

On indique l’indice de départ et l’indice de fin, séparés par le caractère


« : », pour renvoyer une partie de la chaine.

REPRODUCTION INTERDITE
Utilisation des chaines de caractères et méthodes associées

Les principales méthodes des chaines de


caractères :
• upper() : mettre un texte en majuscule.
• lower() : mettre un texte en minuscule.
• capitalize() : mettre la première lettre en
majuscule.
• strip() : retirer les espaces au début et à la
fin de la chaine.
• replace() : remplacer un caractère ou une
chaine par un autre caractère ou une autre
chaine.
• split() : séparer une chaine de caractère en
en plusieurs chaines si le séparateur saisi
en argument est trouvé. Renvoie un objet
de type list.
La fonction len() récupère la longueur de la
chaine de caractère passée en argument.

REPRODUCTION INTERDITE
Utilisation des chaines de caractères et méthodes associées

Pour vérifier si une phrase ou


un caractère est présent dans
une chaine, on peut utiliser les
mots-clés in ou not in.

Dans une variable de type


« string » on ne peut pas
combiner du texte et des
nombres.
On doit d’abord convertir le
nombre en texte avec la
fonction str().

REPRODUCTION INTERDITE
Les types de collection en Python

Il existe quatre types de collections :


- La list est une collection qui est ordonnée et changeable. Les
doublons sont autorisés.
- Le tuple est une collection qui est ordonnée et immuable. Les
doublons sont autorisés.
- Le set est une collection qui est désordonnée et non indexée. Les
doublons sont interdits.
- Le dictionary est une collection qui est désordonnée, changeable
et indexée. Les doublons sont interdits.

REPRODUCTION INTERDITE
Les listes
Les listes sont des objets qui peuvent en contenir
d’autres.
On crée une liste vide avec l’instruction « list() » ou
« [ ] ».
Ajouter un élément
– Au moment de sa création.
– Sinon on utilise la méthode « append() ».
Supprimer un élément :
– Par son indice avec la fonction « del »
– Par sa valeur avec la méthode « remove() »
Afficher un élément :
– On indique son indice entre crochets. Attention les
indices commencent à zéro.
Modifier un élément :
– Liste[indice de l’élément à modifier] = élément modifié
Insérer un élément :
– Avec la méthode « insert(indice,valeur) ».

REPRODUCTION INTERDITE
Les listes
Compter le nombre d’éléments d’une liste avec la
fonction « len() ».
Compter le nombre d’occurrences d’une valeur
avec la méthode « count() ».

Trouver l’indice d’un élément avec la méthode


« index() ». Si la liste contient plusieurs éléments
identiques, la méthode renvoie la position du
premier élément trouvé.

Manipuler une liste avec les indices :


– L’indice -1 renvoie le dernier élément.
– L’indice –i suivi des « : » renvoie une liste des i
derniers éléments.
– L’indice i suivi des « : » renvoie une liste de tous les
éléments après l’indice i-1.
– Les indices i et j séparés des « : » renvoient une
liste des éléments compris entre les indices i et j-1.

REPRODUCTION INTERDITE
Les listes

Copier une liste :


• A ne pas faire
liste_copie = ma_liste2
Dans ce cas l’objet liste_copie « pointe » sur la référence de l’objet
ma_liste2. Si on modifie liste_copie on va modifier aussi l’objet ma_liste2.
• On fera plutôt
liste_copie = ma_liste2[:]
L’objet affecté à liste_copie n’est pas l’objet ma_liste2 mais une liste
composé de tous les éléments de ma_liste2.

Agrandir une liste :


• La méthode « extend() » modifie l’objet initial.
• L’opérateur « + » crée une nouvelle liste. (concaténation)

REPRODUCTION INTERDITE
Les tuples
Un tuple est une collection ordonnée et immuable.

Pour créer un tuple on utilise l’instruction tuple() ou


directement avec les parenthèses ().

L’accès aux éléments d’un tuple se fait comme pour une liste
en indiquant le numéro de l’indice entre crochet.

On ne peut pas changer les valeurs d’un tuple. Un fois créés


les tuples ne peuvent pas être modifiés.

La fonction len() permet de retourner le nombre d’éléments


contenu dans un tuple.

Les méthodes associées aux tuples :


• count() : renvoie le nombre d’occurrence d’une valeur dans un
tuple.
• index() : renvoie la position d’une valeur dans un tuple.

Attention! On ne peut pas ajouter ou supprimer un élément


dans un tuple que l’on a déjà créé.
REPRODUCTION INTERDITE
Les dictionnaires

Les dictionnaires sont des collections désordonnées, modifiables et


indexées.

Dans un dictionnaire on utilise des clés à la place des indices. Chaque clé
est associée à une valeur.

On créé un dictionnaire avec l’instruction dict() ou avec les accolades { }.

REPRODUCTION INTERDITE
Les dictionnaires

Ajouter un élément en utilisant une


nouvelle clé entre crochets.
Supprimer un élément :
– Par sa clé avec la méthode pop(clé).
– Par sa clé avec le mot-clé del.
Afficher un élément :
– Par sa clé entre crochets.
– Par sa clé avec la méthode get(clé).
Modifier un élément :
– myDico[clé de l’élément à modifier] =
élément modifié
Supprimer un dictionnaire :
– Avec le mot clé del suivi du nom du
dictionnaire.
– Avec la méthode clear().

REPRODUCTION INTERDITE
Les dictionnaires

Copier un dictionnaire :
• A ne pas faire
dico_copie = myDico
Dans ce cas l’objet dico_copie « pointe » sur la référence de l’objet myDico. Si
on modifie dico_copie on va modifier aussi l’objet myDico.

• On utilisera plutôt la méthode copy()


dico_copie = myDico.copy()

• Ou la fonction dict()
dico_copie = dict(myDico)

REPRODUCTION INTERDITE
Les dictionnaires

Les principales méthodes associées à l’objet dictionnaire :


• clear() : supprime tous les éléments du dictionnaire
• copy() : retourne une copie du dictionnaire
• get() : retourne la valeur de la clé spécifiée
• items() : retourne un objet dict_items qui contient une liste de
tuple avec les paires clé/valeur
• keys() : retourne un objet dict_keys qui contient une liste avec
les clés du dictionnaire
• pop() : supprime l’élément de la clé spécifiée.
• values() : retourne une liste avec les valeurs du dictionnaire

REPRODUCTION INTERDITE
Les structures conditionnelles
Les conditions simples

On utilise le mot-clé If pour indiquer une condition

• La syntaxe est toujours de la forme :

If macondition:
action

Attention à ne pas oublier les « : » après la condition


et l’indentation après le retour à la ligne.

• On peut écrire le même code sur une seule ligne :

If macondition: action

REPRODUCTION INTERDITE
Les opérateurs

Les conditions logiques :


– == égal à
– != différent de
– > strictement supérieur à
– >= supérieur ou égal à
– < strictement inférieur à
– <= inférieur ou égal à

• OR

If a>8 or a==5: action


Il faut qu’au moins l’une des conditions soit vraie

• AND

If a>3 and a<8: action


Il faut que les 2 conditions soit vraies

REPRODUCTION INTERDITE
Les conditions composées
Dans le cas où il y a plusieurs conditions à
vérifier, on utilise la structure :
if … else …

if condition1:
if condition2:
action2V #dans le cas où condition2 = True
else:
action2F #dans le cas où condition2 = False
else:
action1F

Les flèches grises représentent l’indentation.

REPRODUCTION INTERDITE
Les conditions composées

Elif permet de vérifier plusieurs valeurs d’une condition.


On peut la traduire par « si la condition précédente n’est pas vraie, alors on
essaie cette condition ».

if condition1:
action1V
elif condition2:
action2 #dans le cas où c1 = False, c2 = True
elif condition3:
action3 #dans le cas où c1 = False, c2 = False, c3 = True
else:
action123F #dans le cas où c1 = False, c2 = False, c3 = False

REPRODUCTION INTERDITE
Les conditions sur les objets

Tester si un élément est présent dans une liste :


• If élément in maListe:
action
Tester si un élément est présent dans un tuple :
• If élément in monTuple:
action
Tester si une clé est présente dans un dictionnaire :
• If macle in monDico:
action

REPRODUCTION INTERDITE
Les boucles
Les boucles

En programmation, une boucle, aussi appelée itération, permet d'effectuer une


série d'actions de façon répétitive.

Elles sont très utiles pour les calculs à tirages (Monte-Carlo) ou obligataires.
Elles sont également très adaptées aux opérations de mise en forme et de
nettoyage de fichiers.
Elles sont particulièrement efficaces utilisées avec les conditions et les
différents objets de python (listes, dictionnaires, tableaux…).

Il existe principalement deux structures pour les boucles en python :


• While loops
• For loops

REPRODUCTION INTERDITE
Les boucles while

Elle permet d’effectuer une série d’action tant que la condition est
vraie.

While loops peut se traduire par :


Tant que ma condition est vrai:
Série d’actions
Suivant

Il ne faut pas oublier d’incrémenter i, sinon la boucle continue à l’infinie.

REPRODUCTION INTERDITE
Les mots clés Break et continue

Le mot clé break permet une sortie anticipé


de la boucle même si la condition est
encore vraie.

Le mot clé continue stop l’itération en


cours et redémarre à l’itération suivante.

REPRODUCTION INTERDITE
Les boucles for

L’instruction for travaille sur des séquences. Elle est en fait spécialisée
dans le parcours d'une séquence de plusieurs données.

Les listes, tuples, dictionnaires, et chaines de caractères sont des


séquences sur lesquelles on peut itérer avec l’instruction for.

Avec une boucle for on peut exécuter une série d’actions pour chaque
élément d’une séquence.

Pas besoin d’une variable d’indice, la boucle s’arrête quand tous les
éléments de la séquence ont été parcourus.

for maVariable in maSequence:


action

REPRODUCTION INTERDITE
Les boucles for

Boucle sur une chaine de Boucle sur un tuple :


caractère :

Boucle sur une liste : Boucle sur un dictionnaire :

REPRODUCTION INTERDITE
La fonction range()

Pour boucler sur un indice on utilisera la fonction range().

La fonction range() retourne une séquence de nombre qui commence


à 0 (par défaut), s’incrémente de 1 (par défaut) et se termine par un
nombre spécifié.

Attention range(n) renvoie la séquence de nombre de 0 à n-1.

REPRODUCTION INTERDITE
La fonction range()

Il est possible de démarrer la séquence à partir d’un nombre spécifié en


argument de la fonction.

range(i,j) renvoie la séquence de nombre i,…, j-1.

On peut également modifier la valeur de l’incrément, qui est de 1 par défaut, en


indiquant un argument supplémentaire : range(i,j,inc).

REPRODUCTION INTERDITE
Gestion d’erreurs
Les exceptions

Quand python rencontre une erreur, il lève une exception.


Il existe plusieurs types d’exceptions :

Type d’erreur Cause


ImportError Python ne peut pas importer un module.
NameError Vous tentez d’utiliser un nom (de variable, fonction, etc…)
qui n’existe pas.
IndexError Vous tentez d’accéder à une partie d’une indexable (liste,
tuple…) qui n’existe pas.
KeyError Vous tentez d’accéder à une clé d’un dictionnaire qui
n’existe pas.
TypeError Vous tentez une opération incompatible avec ce type.
ValueError Vous passez une valeur à une fonction qui n’a aucun sens
dans ce contexte.
IOError Erreur d’entrée / sortie (lecture/écriture de fichier).

REPRODUCTION INTERDITE
Le bloc Try… except

Le bloc try vous permet de tester les erreurs pour un bloc


de code.

Le bloc except vous permet de gérer les erreurs.

Le bloc try doit toujours être suivi d’un bloc except.

try:
bloc de code à essayer
except:
bloc de code qui sera exécuté en cas d’erreur

REPRODUCTION INTERDITE
Le bloc Try… except

Vous pouvez définir autant de bloc d’exception que vous


voulez.

Ce qui peut être utile pour exécuter un bloc de code si


python rencontre un type d’erreur spécifique.

REPRODUCTION INTERDITE
Mot-clé else, finally et pass
Le mot-clé else permet de définir un bloc qui sera exécuté si aucune erreur n’est
levée.

try:
bloc de code à essayer
except:
bloc de code qui sera exécuté en cas d’erreur
else:
bloc de code qui sera exécuté si aucune erreur n’est levée

Le mot-clé finally permet de définir un bloc qui sera exécuté dans tous les cas
(erreur ou pas).

try:
bloc de code à essayer
except:
bloc de code qui sera exécuté en cas d’erreur
finally:
bloc de code qui sera exécuté dans tous les cas

Si on veut tester un bloc mais ne rien faire en cas d’erreur on peut utiliser le
mot-clé pass.

REPRODUCTION INTERDITE
Lever une exception

En python on peut générer soit même une erreur. On parle alors de lever une
exception.

Pour cela on utilise le mot-clé raise suivi par le type de l’erreur que l’on
souhaite lever.
On indique entre parenthèse le texte que l’on veut afficher quand l’erreur est
levée.

REPRODUCTION INTERDITE
Les assertions

Les assertions sont un autre moyen de tester si une


condition est respectée.

Si la condition est fausse alors une exception de type


AssertionError est levée.
assert maCondition, « texte à afficher si la condition est fausse »

REPRODUCTION INTERDITE
Pour résumer

On peut intercepter les erreurs (ou exceptions) levées par


notre code grâce aux blocs try except.

Les assertions lèvent une exception AssertionError si le


test échoue.

On peut lever une exception grâce au mot-clé raise suivi


du type de l’exception.

REPRODUCTION INTERDITE
Manipuler des fichiers
Gestion des répertoires

Pour gérer les répertoires on utilise la fonction chdir() du module os.


Cette fonction permet de changer de répertoire courant en indiquant le
chemin complet du nouveau répertoire.

La fonction getcwd() renvoie le chemin du répertoire courant.

Attention : je vous conseille d’utiliser le symbole / pour décrire le chemin. Si


vous utiliser l’antislash il faudra le doubler.

Quand vous lancez un programme python, le répertoire courant est celui d’où
vous lancez le programme.
REPRODUCTION INTERDITE
Gestion des répertoires

Pour décrire l’arborescence d’un système, on a deux possibilités :

• Les chemins absolus


On commence la syntaxe par le nom du volume suivi des 2 points et du slash.
C:/Program Files/R

• Les chemins relatifs


Si je veux accéder à un autre répertoire dans le dossier Program Files, j’utilise le
symbole .. qui désigne le répertoire parent.

C: Program Files iTunes MaMusique

...

REPRODUCTION INTERDITE
Ouvrir un fichier
Pour travailler sur des fichiers en Python on utilise la fonction open().

Cette fonction prend 2 arguments : filename et mode.


• L’argument filename indique le nom du fichier précédé ou non du chemin
(absolu ou relatif).
• L’argument mode :
– « r » : Read - argument par défaut. Ouvre le fichier en lecture. Lève une
exception si le fichier n’existe pas.
– « a » : Append. Ouvre le fichier pour écrire à la suite. Crée le fichier s’il n’existe
pas.
– « w » : Write. Ouvre le fichier en écriture. A chaque ouverture le contenu du
fichier est écrasé. Crée le fichier s’il n’existe pas.
– « x » : Create. Crée un nouveau fichier et l’ouvre en écriture. Lève une exception
si le fichier existe.

Pour fermer le fichier on appelle la méthode close().

REPRODUCTION INTERDITE
Lire un fichier
La fonction open() renvoie un objet de type « fichier »
qui possède des méthodes.

Une de ces méthodes est read(). Elle permet de lire le


contenu du fichier.

Par défaut la méthode read() renvoie tout le texte.


On peut spécifier entre parenthèse le nombre de
caractères que l’on souhaite retourner.

On peut aussi retourner une ligne avec la méthode


readline().
Si on l’appelle une deuxième fois on renvoie la 2 ème
ligne.

On peut aussi boucler sur l’objet « fichier » pour


parcourir les lignes.
for x in f:

REPRODUCTION INTERDITE
Ecrire dans un fichier

Pour écrire dans un fichier on passe


l’argument « w » ou « a » à la fonction
open().

Ensuite on appelle la méthode write()


pour écrire dans le fichier. On indique
entre guillemets le texte que l’on veut
écrire entre les parenthèses de la
méthode.

On ferme le fichier avec la méthode


close().

REPRODUCTION INTERDITE
Ecrire dans un fichier

Si on fait plusieurs fois appel à la


méthode write() sur un même fichier,
on écrit juste après le dernier mot.

Pour écrire sur la ligne suivante on


utilise l’expression régulière « \n » qui
se traduit par « nouvelle ligne ».

REPRODUCTION INTERDITE
Mot clé with

Il existe une autre syntaxe plus courte qui permet de


s’affranchir de la fermeture du fichier.

Le bloc with :

with open(‘monFichier.txt’,’r’) as f:
#opération sur le fichier

REPRODUCTION INTERDITE
Les tableaux

1. Module Numpy
Numpy - un module pour le calcul scientifique

La bibliothèque NumPy permet d’effectuer des calculs numériques avec


Python.
Elle introduit une gestion facilitée des tableaux de nombres.
Elle est la bibliothèque de référence des data-scientistes.

ndarray : l’objet le plus important défini dans NumPy.


Tableaux à n dimensions qui décrit une collection d’objet de même type.

Les éléments de la collection sont accessibles à l’aide d’un index de base


0.

Les types acceptés dans les objets ndarray sont les nombres entiers,
décimaux, et complexes, ainsi que les boolean (True or False) et les
chaines de caractères.

REPRODUCTION INTERDITE
Créer et manipuler des Tableaux

Pour importer le module :


import numpy as np

On utilise la fonction array() pour créer un tableau.


Cette fonction prend en argument des listes de nombres et le type de
données
np.array(object, dtype = None, …)

Elle renvoie un objet de type numpy.ndarray.


La syntaxe pour créer une matrice 2x2 à partir de 2 listes de nombres :

REPRODUCTION INTERDITE
Créer et manipuler des Tableaux

Les autres méthodes pour créer des tableaux :


• arange(start, stop, step) : Renvoie un vecteur de nombre (dernier
nombre exclu).
• linespace(start, stop, num) : Renvoie un vecteur de nombre
uniformément espacés (dernier nombre inclus).
• ones((n,m)) : Renvoie un tableau de 1 de dimension n x m.
• zeros((n,m)) : Renvoie un tableau de 0 de dimension n x m.
• eye(n) : Renvoie une matrice identité carrée de dimension n x n.
• random.randn(n,m) : Renvoie un tableau de nombres aléatoires
indépendants n x m.
• empty((n,m),dtype) : Renvoie un tableau de dimension n x m. Le
tableau n’est pas vraiment vide car il contient des nombres
aléatoires tant qu’il n’est pas initialisée.

REPRODUCTION INTERDITE
Créer et manipuler des Tableaux

REPRODUCTION INTERDITE
Créer et manipuler des Tableaux

La manipulation des tableaux est proche de celle des


listes.

Il existe 2 méthodes d’indexations :


• Basic slicing : découpe un tableau à partir d’un objet slice.
Retourne une « vue » du tableau initial.
• Advanced indexing : crée une copie du tableau à partir des
indices que l’on souhaite récupérer. On indique les indices à
récupérer dans chacune des dimensions.

REPRODUCTION INTERDITE
Créer et manipuler des Tableaux

Basic slicing est une extension du concept Python de « slicing »


(découpage) à n dimensions.
Un objet slice est défini par une valeur de départ (i), une valeur de fin (j)
et un pas (k).
myslice = slice(2,7,2)

En pratique on utilisera plutôt la syntaxe i:j:k.

Quand l’objet slice est passé à un objet ndarray, une partie du tableau
commençant par l’indice 2 jusqu’à 7 avec un pas de 2 est découpée.

Pour un vecteur myVec à 10 lignes : En pratique on écrira :

REPRODUCTION INTERDITE
Créer et manipuler des Tableaux

Les 3 arguments i, j et k ne sont pas obligatoires :


− Si i n’est pas indiqué sa valeur par défaut sera égale à 0 pour k>0 et n-1
pour k<0 où n est le nombre d’éléments de la dimension correspondante.
− Si j n’est pas indiqué sa valeur par défaut sera égale à n pour k>0 et -n-1
pour k<0 où n est le nombre d’éléments de la dimension correspondante.
− Si k n’est pas indiqué sa valeur par défaut sera égale à 1.

Noter que le symbole « :: » est équivalent au symbole « : » et signifie je


sélectionne tous les indices sur la dimension.

j et k par défaut i et k par défaut i, j et k par défaut

REPRODUCTION INTERDITE
Créer et manipuler des Tableaux

Les indices négatifs pour la valeur de départ (i), la valeur de fin (j) et le
pas (k) sont interprétés de la façon suivante :
− Si i est négatif on l’interprète comme étant égal à n+i où n est le nombre
d’éléments de la dimension correspondante.
− Si j est négatif on l’interprète comme étant égal à n+j où n est le nombre
d’éléments de la dimension correspondante.
− Si k est négatif le pas se fait à l’envers. On décrémente de l’indice de départ
à l’indice de fin. Ce qui implique que i > j sinon le tableau renvoyé est vide.

i négatif j négatif i et k
négatifs

REPRODUCTION INTERDITE
Créer et manipuler des Tableaux
Pour une matrice mat = np.ones((5,6))
• mat[0,0] : renvoie la première valeur (première ligne et première colonne)
• mat[0,:] : renvoie la première ligne.
• mat[0,1:] : renvoie toute la première ligne sauf la première case.
• mat[0,:-1] : renvoie toute la première ligne sauf la dernière case.
• mat[0,:-2] : renvoie toute la première ligne sauf les deux dernières cases.

Attention ! Quand on slice un tableau on récupère une « vue » de ce dernier. Ce


n’est pas une copie !
Si on modifie le nouveau tableau que l’on a tranché, on modifie aussi le tableau
initial.

REPRODUCTION INTERDITE
Créer et manipuler des Tableaux

Advance Indexing est un mécanisme d’indexation plus sophistiqué qui


permet de sélectionner tout élément arbitraire d’un tableau en fonction de
son indice de dimension.
Ce type de sélection renvoie une copie du tableau initial.

L’intérêt est de pouvoir sélectionner des indices différents sur différentes


dimensions.

La première liste entre crochet indique les indices sur la première dimension et la seconde
liste les indices sur la deuxième dimension.

On a sélectionné les 3 éléments suivants :


− L’élément de la ligne 0 colonne 0.
− L’élément de la ligne 1 colonne 1.
− L’élément de la ligne 2 colonne 0.

REPRODUCTION INTERDITE
Boucler sur les tableaux

Boucler sur les indices avec une séquence :

REPRODUCTION INTERDITE
Boucler sur les tableaux
L’objet itératif de NumPy : nditer

La boucle se fait sur tous les éléments du


tableau.
for maVariable in np.nditer(monTableau):

On peut aussi boucler sur la première


dimension en écrivant :
for maVariable in monTableau:

REPRODUCTION INTERDITE
Les opérations

Transposer une matrice :


maMatrice.T

Produit matriciel avec la méthode


dot() :
mat1.dot(mat2)

Multiplication terme à terme (entre


matrice de même dimension) :
mat1 * mat3
ou

np.multiply(mat1,mat3)

REPRODUCTION INTERDITE
Les opérations

Additionner 2 tableaux:
mat1 + mat3 ou np.add(mat1,mat3)

Soustraire 2 tableaux:
mat1 - mat3 ou np.subtract(mat1,mat3)

Diviser 2 tableaux:
mat1 / mat3 ou np.divide(mat1,mat3)

REPRODUCTION INTERDITE
Fonctions sur les tableaux

Les fonctions pour arrondir des


nombres :

• np.around(myData,myDecimal) :
permet d’arrondir au nombre de
décimales saisi en paramètre.

• np.floor(myData) : permet
d’arrondir à l’entier le plus grand et
inférieur au nombre initial.

• np.ceil(myData) : permet arrondir à


l’entier le plus petit et supérieur au
nombre initial.

REPRODUCTION INTERDITE
Fonctions sur les tableaux
np.amin(monTableau,maDimension) :
renvoie le minimum sur une dimension.

np.amax(monTableau,maDimension) :
renvoie le maximum sur une dimension.

np.median(monTableau,maDimension) :
renvoie la médiane sur une dimension.

np.mean(monTableau,maDimension) :
renvoie la moyenne arithmétique sur une
dimension.

np.std(monTableau,maDimension) :
renvoie l’écart-type sur une dimension.

np.var(monTableau,maDimension) :
renvoie la variance sur une dimension.

REPRODUCTION INTERDITE
Charger et sauvegarder des tableaux

Les fonctions load() et save() permettent


respectivement de charger et de
sauvegarder des tableaux NumPy avec
l’extension « .npy ».
np.save(filename,monTableau)
np.load(filename.npy)

Les fonctions loadtxt() et savetxt()


permettent respectivement de charger et de
sauvegarder des tableaux NumPy sous
format de fichier texte.
np.savetxt(filename.txt,monTableau)
np.loadtxt(filename.txt)

REPRODUCTION INTERDITE
Les dataframes

1. Module Pandas
Pandas – un module pour la manipulation de données

Pandas est une librairie Python qui permet la manipulation de données


avec une très bonne performance grâce à sa puissante structure de
données.

Pour la petite histoire Pandas est dérivé des mots anglais Panel Data.

Les principales caractéristiques de Pandas :


• L’objet DataFrame rapide et efficace avec indexation par défaut et
personnalisée.
• Gestion des données manquantes.
• Remodelage et pivotement des datasets.
• Découpage, sous-ensemble de gros datasets.
• Regrouper des données pour l’aggrégation et la transformation.
• Haute performance pour la fusion et la jonction de données.

REPRODUCTION INTERDITE
Les structures de données de pandas

Pandas traitent trois type de structure de données :


• Series : tableau à une dimension avec des données homogènes
(interger, string…).
Attention les Series ont des tailles immuables.
• DataFrame : tableau à deux dimensions avec des données
hétérogènes (plusieurs types de données dans un DataFrame).
• Panel : tableau à trois dimensions avec des données hétérogènes. On
peut le voir comme un conteneur de DataFrame.

On peut se représenter ces différentes structures de données


comme des conteneurs des objets de dimensions inférieurs.

Pour importer le module :


import pandas as pd

REPRODUCTION INTERDITE
Les series

Les Series sont des tableaux étiquetés à une dimension capable de


contenir tous types de données (integer, string, float, python objects…).
Pour créer un objet Series on utilise le constructeur
pd.Series(data,index)
• L’argument data peut prendre différentes formes : tableau, liste…
• L’argument index doit contenir des valeurs uniques. Par défaut
np.arrange(n).

REPRODUCTION INTERDITE
Les series

La sélection des éléments de la Series se fait par les index.


• Pour un élément on fera :
maSerie[‘monIndice’]

• Pour plusieurs éléments :


maSerie[[‘indice1’,’indice2’]]

REPRODUCTION INTERDITE
Les dataframes

Les DataFrames sont des structures de données à deux dimensions dans


lesquelles on peut labéliser les deux axes (lignes et colonnes).

Les colonnes peuvent contenir des types différents

REPRODUCTION INTERDITE
Les dataframes

Pour créer un objet DataFrame on utilise le constructeur


pd.DataFrame(data,index,columns)
• L’argument data peut prendre différentes formes : tableau, series,
listes…
• L’argument index pour les labels des lignes. Par défaut np.arrange(n).
• L’argument columns pour les labels des colonnes. Par défaut
np.arrange(n).

L’objet data est une liste de


listes

REPRODUCTION INTERDITE
Les dataframes

Sélectionner une colonne :


On sélectionne les colonnes par les labels
df[‘monLabel’]
L’objet renvoyé est une Serie.

Ajouter une colonne :


Avec un nouveau label
df[‘monNouveauLabel’] = pd.Series(maSerie)
Ici les labels des lignes sont identiques par
défaut. En pratique on pourra utilisé l’argument
index du constructeur pd.Series

REPRODUCTION INTERDITE
Les dataframes

Supprimer une colonne


• Avec la fonction del :
del df[‘monLabel’]
• Avec la fonction pop :
df.pop(‘monLabel’)

REPRODUCTION INTERDITE
Les dataframes

Manipuler les lignes d’un DataFrame


• Sélectionner une ligne :
– Par son label : df.loc[‘monLabel’]
– Par son indice :
df.iloc[‘monIndice’]
– Plusieurs lignes peuvent être
sélectionner avec l’opérateur « : »
df[1:3]

• Ajouter des lignes :


– Avec la fonction append() :
df2.append(df3)
Renvoie un nouveau DataFrame

• Supprimer des lignes :


– Avec la fonction drop() :
df4.drop(‘monLabel’)
Renvoie un nouveau DataFrame

REPRODUCTION INTERDITE
Les dataframes
Quelques fonctions basiques :
• axes : renvoie une liste des
labels des lignes
• ndim : renvoie le nombre de
dimensions
• size : renvoie le nombre
d’éléments
• values : renvoie les Series en
tableau NumPy ndarray
• head(n) : renvoie les n premières
lignes
• tail(n) : renvoie les n dernières
lignes

REPRODUCTION INTERDITE
Les dataframes

Quelques fonctions statistiques :

REPRODUCTION INTERDITE
Les dataframes

La fonction describe() pour avoir des statistiques


descriptives de votre DataFrame

REPRODUCTION INTERDITE
Les dataframes

Les itérations sur les objets Pandas


dépendent du type de la structure de
données.
• Pour les Series on boucle sur les
valeurs
for maVariable in maSerie:

• Pour les DataFrame on boucle sur


les labels des colonnes
for maVariable in monDF:

Il existe aussi trois fonctions


pour itérer sur les DataFrame :
– Iteritems() : itère sur les paires clé
(colonne),valeur (ligne avec label)
– Iterrows() : itère sur les lignes
– Itertuples() : itère sur les lignes et renvoie
un tuple par ligne

REPRODUCTION INTERDITE
Les dataframes

Pandas fournit la fonction merge() pour réaliser tout type de jointure.


pd.merge(left, right, on, how)
• L’argument left doit être un DataFrame.
• L’argument right doit être un DataFrame.
• L’argument on est le nom de la colonne sur laquelle on fait la jointure.
• L’argument how peut prendre les valeurs left, right, outer, inner (par
défaut).

REPRODUCTION INTERDITE
Charger des fichiers avec pandas

La fonction read_csv() permet de charger un fichier dans


un objet DataFrame.

pd.read_csv(filename, sep=’;’, decimal=’,’)

REPRODUCTION INTERDITE
API Bloomberg

1. Requêter des données Bloomberg en


Python.
Package blpapi

Installer le package « blpapi ».

A vous de jouer !

REPRODUCTION INTERDITE
Package blpapi

Avec la commande « pip » :


python -m pip install --index-url=https://bloomberg.bintray.com/pip/simple blpapi

Avec Anaconda :
conda install -c conda-forge blpapi (version 3.13.1)
ou
conda install -c conda-forge/label/cf201901 blpapi (version 3.12.2)

Une fois l’installation complétée, on teste l’import du


package.

REPRODUCTION INTERDITE
Module blp

Pour simplifier l’utilisation des requêtes Bloomberg en Python on


utilisera le module « blp.py » qui est disponible sur GitHub à l’adresse
suivante :

https://github.com/691175002/BLPInterface

Ce module implémente le service Bloomberg //blp/refdata qui est le


service pour les requêtes de données statiques.

Il permet l’utilisation des trois principales requêtes Bloomberg :


BDP, BDH, BDS.

Les résultats des requêtes sont renvoyés dans un DataFrame.

REPRODUCTION INTERDITE
Module blp

La class BLPInterface :
Elle permet de créer (ou
d’instancier) l’objet du même nom
(BLPInterface).

Toutes les classes ont une fonction


__init__() qui est exécutée quand
la classe est initialisée.

Quand l’objet BLPInterface est


créé, la connexion au service
Bloomberg se fait
automatiquement avec la fonction
open().

REPRODUCTION INTERDITE
Module blp

La méthode referenceRequest(…) est l’équivalent de la fonction Excel


BDP.

Elle prend 2 arguments de type list :


- Une liste de ticker Bloomberg
- Une liste de champs à requêter
Et des arguments optionnels pour les overrides.

Marche à suivre pour lancer une requête :


1. Importer les packages pandas et blpapi ainsi que le module blp.py
2. Instancier l’objet BLPInterface
3. Créer une liste avec les tickers Bloomberg et une liste avec le nom des
champs.
4. Exécuter la méthode referenceRequest() avec les listes créées en 3. en
arguments. On stockera le résultat dans un nouvel objet.

REPRODUCTION INTERDITE
Module blp

Exercice :
Requêter le prix « px_last » pour les 2 tickers actions « GLE FP
Equity » et « BNP FP Equity »

REPRODUCTION INTERDITE
Module blp

Exercice :
Requêter le prix « px_last » pour les 2 tickers actions « GLE FP
Equity » et « BNP FP Equity »

REPRODUCTION INTERDITE
Module blp

La méthode historicalRequest(…) est l’équivalent de la fonction Excel


BDH.

Elle prend 2 arguments de type list :


- Une liste de ticker Bloomberg
- Une liste de champs à requêter
Et 2 arguments de type datetime :
- Une date de départ
- Une date de fin
Et des arguments optionnels pour les overrides.

Pour créer une date il faut utiliser la


fonction datetime() du package datetime.

REPRODUCTION INTERDITE
Module blp

Exercice :
Requêter 1 an d’historique du taux swap 10 ans (« EUSA10 Curncy »).

REPRODUCTION INTERDITE
Module blp

Exercice :
Requêter 1 an d’historique du taux swap 10 ans (« EUSA10 Curncy »).

REPRODUCTION INTERDITE
Module blp

La méthode bulkRequest(…) est l’équivalent de la fonction Excel


BDS.

Elle prend 2 arguments de type list :


- Une liste de ticker Bloomberg
- Une liste de champs à requêter

Et des arguments optionnels pour les overrides.

REPRODUCTION INTERDITE
Module blp

Exercice :
Requêter la composition de l’Eurostoxx 50 (« SX5E INDEX ») avec le
champ « INDX_MWEIGHT ».

REPRODUCTION INTERDITE
Module blp

Exercice :
Requêter la composition de l’Eurostoxx 50 (« SX5E INDEX ») avec le
champ « INDX_MWEIGHT ».

REPRODUCTION INTERDITE
Module blp

Pour les overrides il faut définir les champs et les valeurs à l’objet
« overrides » dans la méthode sendRequest() du module blp.py.

REPRODUCTION INTERDITE
Module blp

Exemple :
Requêter la composition de l’Eurostoxx 50 (« SX5E INDEX ») en date
du 30/12/2018 en utilisant l’override « end_dt = …».

REPRODUCTION INTERDITE
Les graphiques

1. Module Matplotlib
Les graphiques

Matplotlib est une librairie python qui permet de tracer des


graphiques.
Elle est la librairie graphique la plus utilisée.

Possibilité de sauvegarder les graphiques dans différents


formats : PNG, JPEG, PDF, SVG…

Pour importer le module :


import matplotlib.pyplot as plt

REPRODUCTION INTERDITE
Les graphiques

Pour mieux
visualiser les
paramètres d’un
graphique pyplot.

REPRODUCTION INTERDITE
Les graphiques

Définir un titre avec la fonction title() :


plt.title(‘Mon graphique’)

Renseigner les valeurs de x et de y avec la fonction plot() :


plt.plot(myX,myY) myX et myY sont des listes ou des tableaux.

Arguments supplémentaires de la fonction plot() :


color : couleur des points et de la courbe.
marker : forme des points.
markersize : taille des points.
linestyle : format de la courbe.
linewidth : épaisseur de la courbe.
label : nom de la série.

REPRODUCTION INTERDITE
Les graphiques

Valeurs possibles pour l’argument marker :

REPRODUCTION INTERDITE
Les graphiques

Valeurs possibles pour l’argument linestyle :

• ‘solid’ : ligne continue

• ‘dashed’ : ligne pointillée (trait)

• ‘dashdot’ : ligne pointillée (trait + point)

• ‘dotted’ : ligne pointillée (point)

• ‘None’ : pas de dessin

REPRODUCTION INTERDITE
Les graphiques

Labéliser les axes :


• plt.xlabel(‘xLabel’) : label pour l’axe des x.
• plt.ylabel(‘yLabel’) : label pour l’axe des y.
Afficher la légende :
• plt.legend()
Ajouter des séries :
• plt.plot(myX,myY,
label=‘monLabel’)
Afficher la grille :
• plt.grid()
Afficher le graphique :
• plt.show()
Fermer le graphique :
• plt.close()

REPRODUCTION INTERDITE
Les graphiques

Modifier la taille du graphique avant sa création avec la


fonction figure() :
plt.figure(figsize=(width,height)) : le paramètre figsize permet
de configurer la taille de la « figure ».

Plusieurs graphiques sur une même image avec la


fonction subplot() :
plt.subplot(nrows,ncols,index)
Le paramètre nrows indique le nombre le ligne de la
« figure ».
Le paramètre ncols indique le nombre le colonne de la
« figure ».
Le paramètre index indique la position sur la « figure ».

REPRODUCTION INTERDITE
Les graphiques

REPRODUCTION INTERDITE
Les graphiques - histogrammes

Pour créer un histogramme on utilise la


méthode hist() :
plt.hist(x, bins) où x est une liste ou un
tableau de valeurs et bins le nombre de
barres.
Arguments supplémentaires de la
fonction hist() :
• cumulative : True or False (défaut).
Cumule des fréquences.
• align : left, mid (défaut) ou right.
Contrôle le tracé des histogrammes.
• rwidth : largeur des barres en
pourcentage.
• color : couleur des barres.
• label : labels des histogrammes.

REPRODUCTION INTERDITE
Les graphiques - Camembert

Pour créer un diagramme circulaire on utilise la méthode pie() :


plt.pie(data) où data est une liste ou un tableau de valeurs.
Arguments supplémentaires de la fonction pie() :
• explode : « explose » les parts.
• labels : labels des parts.
• autopct : ‘%1.1f%%’. Indique le pourcentage avec une décimale.
• colors : couleur des parts.
• startangle : permet une rotation du camembert.
Afin de garder la forme circulaire du camembert on utilise la fonction axis():
plt.axis(‘equal’)

REPRODUCTION INTERDITE
Les graphiques

Pour sauvegarder vos graphiques :


• Il faut d’abord créer un objet figure avec la méthode
figure() :
plt.figure()
• Après avoir construit le graphique on utilise la méthode
savefig() :
myFigure.savefig(‘monGraphique.jpeg’)

REPRODUCTION INTERDITE
A savoir

Une fois votre prototype développé sur Jupyter, sauvegardez votre


fichier en « .py ».

Pour exécuter votre script python à partir d’Anaconda Prompt :

python « monchemin\monfichier.py »

Attention on est dans un environnement Windows, il faut utiliser des « \ ».

Pour exécuter votre script python dans l’interpréteur

import os
os.chdir(“monChemin")
run monfichier.py

REPRODUCTION INTERDITE
r e at t e nt ion .
e r c i p o u r v ot u s v otre
M nne z - n o
t o ur, d o
A votre avis !

Pour toute demande d’informations :

+33 1 40 33 79 08 - info@barchen.fr

www.barchen.fr Suivez-nous sur

Vous aimerez peut-être aussi