Programmation avancée en Python
Programmation avancée en Python
Programmation avancée
Python
Professeur Hind LAMHARHAR
email: [Link]@[Link]
linkedIn: [Link]
Plan
Programmation avancée avec
python
Fondements et Techniques
Python de Manipulation de Projet
Données
v Types de données, opérations arithmétiques et logiques, vCréation et manipulation de tableaux indexation et tranchage, agrégation de données,
boucles, conditions, fonctions filtrage de données, lecture et écriture de fichiers, fonctions mathématiques.
v Programmation modulaires vExploration des données: Structures de données, manipulation de données , indexation
v POO: classes et objets, gestion d'erreurs et exceptions, et tranchage, regroupement de données, jointures de données, nettoyage de données,
vvisualisation de données, graphiques, Personnalisation des graphiques, Graphiques
bibliothèques et modules.
avancés,
1
4/25/24
Partie 1: Introduction à la
programmation avec Python
2
4/25/24
Environnement Python
Il y a plusieurs IDE (Integrated Development Environment) disponibles pour Python, chacun ayant ses propres
avantages et inconvénients en fonction des besoins de l'utilisateur:
1. PyCharm : C'est l'IDE Python le plus populaire, développé par JetBrains. Il offre une interface utilisateur conviviale,
une analyse de code avancée, un débogage en temps réel, une gestion de versions, une refonte de code
automatique, etc. Il est disponible en versions payantes et gratuites.
2. Visual Studio Code : Il s'agit d'un éditeur de code gratuit et open source développé par Microsoft, qui prend en
charge de nombreux langages de programmation, y compris Python. Il offre des fonctionnalités telles que le
débogage en temps réel, l'intégration Git, l'analyse de code, etc.
3. IDLE : C'est l'IDE Python standard qui est livré avec l'installation de Python. Il est simple, facile à utiliser et offre des
fonctionnalités de base pour l'édition de code et le débogage.
4. Spyder : C'est un IDE Python axé sur la science des données, qui prend en charge les bibliothèques de données
populaires telles que NumPy, Pandas, Matplotlib, etc. Il offre des fonctionnalités telles que le débogage en temps
réel, l'analyse de code, l'exploration de données, etc.
5. Jupyter Notebook : Il s'agit d'un environnement de développement interactif basé sur le Web qui permet d'écrire et
d'exécuter du code Python de manière interactive. Il est populaire pour la science des données, la visualisation de
données, l'analyse statistique, etc.
Pr. Hind Lamharhar 5
1. Types de données
2. Opérations arithmétiques et logiques
3. Boucles et conditions
4. Fonctions
5. Gestion d'erreurs et exceptions;
6. Bibliothèques et modules.
7. POO en python: Classes , objets et héritage
3
4/25/24
Types de données
• Les types de données sont les éléments fondamentaux que l'on manipule en programmation.
Python a plusieurs types de données intégrés, tels que les nombres, les chaînes de caractères
et les listes.
• Entiers : les entiers sont des nombres entiers positifs ou négatifs tels que 1, 2, -3, -4, etc.
• Flottants : les flottants sont des nombres décimaux positifs ou négatifs tels que 1.2, 3.4, -2.5,
etc.
• Chaînes de caractères : les chaînes de caractères sont des séquences de caractères, telles que
"Hello World". Les chaînes peuvent être créées en utilisant des guillemets simples ou doubles.
• Booléens : les booléens ne peuvent avoir que deux valeurs : True ou False. Les booléens sont
souvent utilisés dans les instructions conditionnelles.
Types de données
• Listes : les listes sont des collections ordonnées d'éléments, tels que [1, 2, 3, 4] ou ["apple",
"banana", "orange"]. Les éléments d'une liste peuvent être de différents types de données.
• Tuples : les tuples sont des collections ordonnées d'éléments similaires aux listes, mais les
éléments d'un tuple ne peuvent pas être modifiés une fois qu'ils ont été créés. Les tuples sont
créés en utilisant des parenthèses, comme (1, 2, 3) ou ("a", "b", "c").
• Ensembles : les ensembles sont des collections d'éléments uniques et non ordonnés. Les
ensembles sont créés en utilisant des accolades, comme {1, 2, 3}.
• Dictionnaires : les dictionnaires sont des collections d'éléments clé-valeur, où chaque élément
est associé à une clé unique. Les dictionnaires sont créés en utilisant des accolades et des
paires clé-valeur, comme {"apple": 1, "banana": 2, "orange": 3}.
4
4/25/24
• Tuples : Les éléments d'un tuple sont séparés par des virgules et entourés de parenthèses.
Voici des exemples de syntaxe pour les tuples :
• (1, 2, 3, 4)
• ("apple", "banana", "orange")
• (1, "Hello", 3.14)
10
5
4/25/24
11
12
6
4/25/24
• Dans cet exemple, les variables x, y et z sont créées et initialisées respectivement avec les
valeurs 1, 2 et 3.
• Enfin, il est important de noter que les noms de variables en Python doivent suivre certaines
règles :
• Le nom de la variable doit commencer par une lettre ou un underscore.
• Le nom de la variable ne peut contenir que des lettres, des chiffres et des underscores.
• Le nom de la variable ne peut pas être un mot réservé de Python (par exemple, "if", "else",
"while", etc.).
• Les noms de variables sont sensibles à la casse (c'est-à-dire que "age" et "Age" sont deux
variables différentes).
Pr. Hind Lamharhar 13
13
14
7
4/25/24
15
16
8
4/25/24
17
18
9
4/25/24
19
20
10
4/25/24
21
22
11
4/25/24
23
24
12
4/25/24
25
Il est important de noter que si une clé existe dans les deux dictionnaires, la valeur associée à cette clé
dans le dictionnaire de mise à jour (nouveau_dictionnaire dans notre exemple) remplacera la valeur
associée à la même clé dans le dictionnaire original (mon_dictionnaire dans notre exemple). Si une clé
existe uniquement dans le dictionnaire de mise à jour, une nouvelle paire clé-valeur sera ajoutée au
dictionnaire original avec cette clé et cette valeur.
Pr. Hind Lamharhar 26
26
13
4/25/24
27
28
14
4/25/24
TD1:
Types de données, opérations et structures de données
• Partie 1 : Types de données et variables
1. Déclarez deux variables, une pour stocker votre nom et une autre pour stocker votre âge.
2. Affichez le type de données de chaque variable.
3. Modifiez la variable d'âge pour ajouter 5 ans, puis affichez la nouvelle valeur de cette variable.
4. Déclarez une troisième variable pour stocker votre taille en mètres, puis affichez cette variable.
5. Modifiez la variable de taille pour ajouter 10 cm, puis affichez la nouvelle valeur de cette variable.
• Partie 2 : Opérations arithmétiques et logiques
1. Déclarez deux variables pour stocker des nombres entiers.
2. Calculez et affichez la somme, la différence, le produit et le quotient de ces deux nombres.
3. Utilisez une instruction conditionnelle pour afficher un message différent selon que la somme est supérieure, inférieure ou égale à 100.
4. Utilisez une instruction conditionnelle pour afficher un message différent selon que la différence est positive, négative ou nulle.
5. Déclarez deux variables booléennes pour stocker des valeurs Vrai et Faux.
6. Effectuez des opérations logiques sur ces deux variables (et, ou, non) et affichez les résultats.
• Partie 3 : Structures de données
1. Créez une liste contenant les noms de 5 amis.
2. Affichez le premier et le dernier élément de la liste.
3. Ajoutez un nouveau nom à la liste.
4. Modifiez le deuxième nom de la liste pour ajouter un surnom.
5. Créez un dictionnaire contenant les noms et âges de vos amis.
6. Ajoutez un nouvel ami au dictionnaire.
7. Affichez l'âge d'un ami spécifique en utilisant son nom comme clé.
29
30
15
4/25/24
• variable est une variable qui prendra successivement les valeurs de chaque élément de la
séquence.
• sequence est une séquence d'éléments tels qu'une chaîne de caractères, une liste ou un tuple.
• Les instructions à l'intérieur de la boucle for seront exécutées pour chaque élément de la
sequence.
• Boucle "while" : cette boucle est utilisée pour répéter une action tant qu'une condition est vraie.
31
32
16
4/25/24
Fonctions
En Python, une fonction est un bloc de code qui effectue une tâche spécifique réutilisable qui
peut être appelé à partir d'autres parties du programme.
• les étapes pour créer une fonction en Python :
1. Définition de la fonction : la définition d'une fonction commence par le mot-clé "def", suivi du nom
de la fonction et des parenthèses. Les parenthèses peuvent contenir des paramètres d'entrée pour
la fonction.
2. Bloc de code : le corps de la fonction doit être indenté et contient les instructions à exécuter
lorsque la fonction est appelée.
3. Retour de valeurs : la fonction peut retourner une valeur à l'aide du mot-clé "return".
• Si la fonction ne retourne pas de valeur, elle peut simplement être appelée sans affecter le
résultat à une variable.
33
Fonctions
• Exemple: Dans cet exemple, la fonction est appelée "calculer_somme" prend deux arguments,
"a" et "b".
• la fonction calcule la somme de "a" et "b" et stocke le résultat dans la variable "somme".
• Ensuite, elle retourne la valeur de la variable « somme » à l'aide du mot-clé "return".
• Pour appeler la fonction, les deux valeurs 2 et 3 passés comme arguments et le résultat
est stocké dans une variable appelée "resultat".
• Enfin, le résultat est affiché à l'aide de la fonction "print".
34
17
4/25/24
Fonctions: Exercices
• Ecrire trois fonctions en Python :
1. Fonction est_mineur(age) : prend un argument âge et retourne True si la personne est mineure (moins
de 18 ans), sinon retourne False.
2. Fonction quantite_stock(stock_actuel, entrees, sorties) : prend trois arguments : stock_actuel (quantité
actuelle en stock), entrees (quantité entrée dans le stock) et sorties (quantité sortie du stock). La
fonction retourne la quantité en stock après l'ajout des entrées et la soustraction des sorties.
3. Fonction moyenne_notes(notes) : prend une liste de notes (Python, POO, Architecture d'ordinateur et
Java) et les coefficients associés (respectivement 4, 3, 2 et 3), calcule et retourne la moyenne pondérée
des notes.
• Notez que les coefficients des notes sont respectivement 4, 3, 2 et 3. Vous pouvez supposer que les notes et les
coefficients sont entrés dans le même ordre dans la liste
35
36
18
4/25/24
37
• "try" est utilisé pour tenter de convertir une entrée utilisateur en un nombre entier à l'aide de la
fonction "int()".
• Si l'utilisateur entre un caractère qui ne peut pas être converti en un nombre entier, une exception
"ValueError" est levée.
• Le code passe alors au bloc "except" correspondant, qui affiche un message d'erreur à l'utilisateur.
38
19
4/25/24
39
2. Exemple 4: Gestion d'une valeur non valide pour une fonction personnalisée :
40
20
4/25/24
41
42
21
4/25/24
TD2
Gestion d'erreurs et exception
Donner les types des exceptions des énoncés suivants
1. Écrire une fonction convertir_en_int qui prend une chaîne de caractères en argument et renvoie un entier. Si la
chaîne ne peut pas être convertie en entier, la fonction doit renvoyer un message d'erreur.
2. Écrire une fonction verifier_nombre_positif qui prend un nombre en argument et vérifie s'il est positif. Si le
nombre est négatif, la fonction doit lever une exception.
3. Écrire une fonction qui prend en entrée une liste de nombres et qui renvoie la moyenne de ces nombres. Si la liste
est vide, la fonction doit lever une exception.
4. Écrire une fonction eval_expr qui prend une expression mathématique en argument et renvoie le résultat de son
évaluation ( utiliser eval(expression)). Si l'expression contient une erreur de syntaxe, la fonction doit lever une
exception.
5. Écrire une fonction extraire_nombre qui prend une chaîne de caractères en argument et renvoie le premier
nombre trouvé dans la chaîne. Si la chaîne ne contient pas de nombre, la fonction doit lever une exception.
6. Écrire une fonction jours_entre_dates qui prend deux dates en argument et renvoie le nombre de jours entre ces
deux dates. Si les dates sont mal formatées ou si la première date est postérieure à la deuxième date, la fonction
doit lever une exception.
43
Partie 1: Introduction à la
programmation avec Python
44
22
4/25/24
Bibliothèques et modules
• Les bibliothèques et les modules sont des collections de fonctions et de classes qui étendent
les fonctionnalités de base de Python et qui peuvent être utilisé pour fournir une fonctionnalité
supplémentaire à votre programme en utilisant l'instruction "import".
• Un module est un fichier individuel qui contient du code Python qui peut contenir des fonctions, des
classes et des variables
• tandis qu'une bibliothèque (library en anglais) est un ensemble de modules contenant des
fonctions et des classes qui peuvent être réutilisées dans d'autres programmes.
• Les bibliothèques Python sont souvent appelées "modules standard" car elles sont incluses dans
l'installation de base de Python.
45
46
23
4/25/24
• Module: module_manip_chaine
47
• Une fois le module importé, vous pouvez utiliser les fonctions, les classes et les variables qu'il contient
en utilisant le nom du module suivi du nom de l'élément, comme suit :
• Python dispose également d'une fonction d'importation de modules plus avancée, appelée
"from...import". Cette fonction permet d'importer des éléments spécifiques d'un module sans avoir à
utiliser le nom du module à chaque fois. Voici un exemple :
48
24
4/25/24
49
50
25
4/25/24
• La troisième façon est d'importer toutes les fonctions et classes du module en utilisant
l'instruction d'importation suivie d'une astérisque (*) :
51
Bibliothèques et modules
• Python possède une vaste bibliothèque standard qui contient des modules pour effectuer des
opérations telles que la manipulation de fichiers, le traitement des chaînes de caractères, les opérations
mathématiques, les opérations sur les dates et heures, l'analyse de données, la visualisation, etc.
• En plus de la bibliothèque standard, il existe également des bibliothèques qui peuvent être installées à
l'aide d'un gestionnaire de paquets tel que pip. Ces bibliothèques peuvent ajouter des fonctionnalités
supplémentaires à Python pour des tâches spécifiques telles que le traitement de données,
l'apprentissage automatique, la visualisation de données, etc.
• Exemples de bibliothèques:
• Bibliothèque standard : os, sys, math, datetime, random, etc.
• Numpy pour les calculs mathématiques avancés
• Pandas pour la manipulation de données et l'analyse
• Matplotlib pour la visualisation de données
• Flask pour le développement d'applications web
• Tensorflow pour l'apprentissage automatique et l'intelligence artificielle
52
26
4/25/24
Bibliothèques et modules:math
• fournit des fonctions mathématiques courantes, comme le calcul de la racine carrée ou de la
fonction trigonométrique.
53
Bibliothèques et modules: os
Gestion des fichiers et des dossiers
• En Python, la gestion des fichiers et des
dossiers peut être effectuée en utilisant la
bibliothèque intégrée os. Cette bibliothèque
fournit un grand nombre de fonctions pour
interagir avec le système de fichiers, telles
que la création, la suppression, la copie et le
déplacement de fichiers et de dossiers, ainsi
que la vérification de leur existence.
• Voici un exemple de programme Python qui
utilise la bibliothèque os pour créer un
dossier, y écrire un fichier texte, puis lire son
contenu et l'afficher à l'écran :
54
27
4/25/24
Bibliothèques et modules: os
Gestion des fichiers et des dossiers
[Link]() : Cette méthode retourne le répertoire de
travail actuel.
[Link]() : Cette méthode retourne une liste des fichiers
et répertoires présents dans un répertoire donné.
[Link]() : Cette méthode permet de créer un nouveau
répertoire.
[Link]() : Cette méthode permet de supprimer un
répertoire vide.
[Link]() : Cette méthode permet de supprimer un
fichier.
[Link]() : Cette méthode permet de renommer un
fichier ou un répertoire.
55
TD 4
Bibliothèques et modules
• Créer et importer les modules suivants:
1. Créez un module contenant une fonction qui prend une liste en entrée et renvoie une liste avec
tous les éléments en double supprimés.
2. Créez et importer un module contenant une fonction qui prend un dictionnaire en entrée et
renvoie une liste des clés triées dans l'ordre croissant.
3. Créez un module contenant une fonction qui convertit des degrés Celsius en degrés Fahrenheit et
une autre fonction qui convertit des degrés Fahrenheit en degrés Celsius.
4. Écrire un module nommé qui contient une fonction nommée qui prend deux chaînes de
caractères en entrée et renvoie la concaténation des deux chaînes.
56
28
4/25/24
Environnement de développement
57
Environnement de développement
Environnement virtuels
Méthodes de Création d'Environnements Virtuels : Qu'est-ce qu'un Environnement Virtuel ?
vVirtualenv : Un outil populaire pour créer des vUn environnement virtuel est un
environnements virtuels. environnement Python isolé qui permet
vvenv (depuis Python 3.3) : Module intégré à Python de travailler sur des projets Python
pour créer des environnements virtuels. spécifiques avec des dépendances
vConda (Anaconda) : En plus de gérer les packages, personnalisées, sans interférer avec
Conda peut également créer des environnements d'autres projets ou installations Python
virtuels. sur votre système.
vPyenv : Permet de gérer différentes versions de
Python et de créer des environnements virtuels
associés.
vPipenv : Un gestionnaire de dépendances qui intègre
la gestion d'environnements virtuels.
Pourquoi Utiliser des Environnements Virtuels?
Choix de la Méthode & Bonnes Pratiques
La méthode à utiliser dépend des besoins spécifiques vIsolation : Évitez les conflits entre les versions
du projet, de la familiarité de l'utilisateur avec l'outil de packages et les dépendances de différents
et de la compatibilité avec d'autres outils et projets.
workflows. vRéplicabilité : Assurez-vous que votre projet
v Nommer les Environnements : Utiliser des noms significatifs pour peut être reproduit sur d'autres machines avec
identifier les environnements, en se basant sur le projet ou l'objectif. la même configuration d'environnement.
v Documenter les Dépendances : Garder une liste des dépendances et
vPropreté : Gardez votre installation Python
des versions installées pour assurer la reproductibilité du projet.
principale propre en installant uniquement les
v Activation et Désactivation : S'habituer à activer et désactiver les
packages nécessaires à chaque projet.
environnements virtuels selon les besoins du projet.
Pr. Hind Lamharhar 58
58
29
4/25/24
Environnement de développement
Créer et Utiliser un Environnement sur Mac/Windows/Linux
1. Création d'un Environnement :
a) Utilisez la commande conda create --name <nom_env>, remplacez <nom_env> par le nom de votre environnement.
b) Spécifiez les packages à installer, par exemple : conda create --name mon_env {python=3.8 numpy pandas}.
2. Activation et Désactivation de l'Environnement :
• Pour activer l'environnement :
v Sur Windows : conda activate <nom_env>.
v Sur Mac/Linux : source activate <nom_env>.
• Pour désactiver l'environnement :
v Sur Windows : conda deactivate. Conda (Anaconda) :
v Sur Mac/Linux : conda deactivate (pas source) [Link]
3. Utilisation de l'Environnement : -guide/tasks/[Link]
v Une fois activé, vous pouvez installer et utiliser des packages comme d'habitude.
venv (depuis Python 3.3)
v Tous les packages installés seront spécifiques à cet environnement. [Link]
4. Suppression de l'Environnement : environments/virtualenv
• Pour supprimer un environnement : conda env remove --name <nom_env>.
• Assurez-vous de désactiver l'environnement avant de le supprimer.
59
Environnement de développement
Créer et Utiliser un Environnement sur Mac/Windows/Linux
1- Création d'un Environnement 2- Activation
3- Désactivation
60
30
4/25/24
Environnement de développement
Configuration du kernel sur jupyter
61
62
31
4/25/24
Environnement de développement
Création d’un projet (VS Code)
• Objectif : Pratiquer la création d'un module Python avec une fonction et son utilisation dans un notebook avec un environnement virtuel configuré
dans Visual Studio Code.
11. Création du Workspace : Ouvrez Visual Studio Code et Créez un nouveau workspace nommé « insea_workspace»
22. Création d'un Fichier Python :
3 • Dans le dossier « insea_projet », créez un nouveau fichier Python nommé "[Link]".
• Dans le fichier "[Link]", définissez une fonction nommée « afficher »qui imprime "This is my first module".
43. Activation de l'Environnement Virtuel :
• Ouvrez le terminal intégré de VS Code (Ctrl+`).
• Activez l'environnement virtuel "envinsea" avec la commande appropriée.
54. Création d'un Notebook : Dans le dossier « insea_projet », créez un nouveau fichier notebook nommé "[Link] »
5. Configuration de l'Environnement dans le Notebook : Ouvrez le fichier "[Link]" et configurez l'environnement virtuel "envinsea" comme kernel
6
pour le notebook.
a. Importation du Module dans le Notebook : Dans le notebook, importez le module "[Link]" en utilisant la commande d'importation.
b. Test de la Fonction dans le Notebook : Appelez la fonction afficher du module "[Link]" dans le notebook pour vérifier qu'elle s'exécute
correctement.
c. Exécution et Vérification : exécuter et Vérifiez que le message "This is my first module" est correctement affiché dans le notebook.
63
Environnement de développement
Création d’un projet (VS Code)
1
3
2
5 4
64
32
4/25/24
Partie 1: Introduction à la
programmation avec Python
65
66
33
4/25/24
Approche procédurale
• Approche procédurale ou fonctionnelle
67
68
34
4/25/24
69
70
35
4/25/24
71
72
36
4/25/24
POO en python
• Les concepts clés de la POO sont les suivants :
• Les classes : une classe est un modèle qui définit les caractéristiques et les comportements d'un
objet. Elle est définie à l'aide du mot-clé "class".
• Les objets : Un objet est une instance d'une classe, qui peut avoir des attributs (propriétés) et des
méthodes (fonctions) qui lui sont propres.
• Les attributs : un attribut est une variable associée à un objet. Il peut être défini dans la classe ou
dans l'objet.
• Les méthodes : une méthode est une fonction associée à un objet. Elle peut être définie dans la
classe ou dans l'objet.
73
POO en python
74
37
4/25/24
POO en python
75
POO en Python:
Notions: « class »
• la définition d'une classe commence par le mot-clé "class", suivi du nom de la classe et des deux-points.
• Les méthodes de la classe sont définies à l'intérieur de la classe et peuvent avoir des arguments, comme
les fonctions.
• Exemple de définition de classe en Python : Dans cet exemple, nous avons défini une classe appelée
"Personne".
• La classe a deux attributs, "nom" et "age"
• La méthode "init" est appelée pour créer des objets l
• La classe a également une méthode appelée "parler" qui prend un argument "message" et affiche le
message à l'écran.
76
38
4/25/24
POO en Python:
Notions: Constructeur
• Constructeur est une méthode spéciale qui est appelée automatiquement lorsqu'un nouvel
objet est créé à partir d'une classe.
• Le constructeur est utilisé pour initialiser les attributs d'un objet à des valeurs spécifiques.
• Le nom de la méthode constructeur est "init". Il prend en charge le paramètre "self", qui fait
référence à l'objet lui-même, ainsi que d'autres paramètres qui peuvent être utilisés pour
initialiser les attributs de l'objet.
• Exemple:
77
POO en Python:
Notions: « objet »
• Pour créer un nouvel objet à partir de la classe, nous utilisons le nom de la classe suivi des parenthèses.
Nous pouvons ensuite accéder aux attributs et méthodes de l'objet à l'aide de la notation point.
• Dans cet exemple, nous avons créé un nouvel objet "personne1" à partir de la classe "Personne".
• Nous avons passé les valeurs »Ahmed" et 25 comme arguments pour les attributs "nom" et "age".
• Nous avons ensuite appelé la méthode "parler" de l'objet "personne1" avec le message "Bonjour!".
• Enfin, nous avons accédé aux attributs "nom" et "age" de l'objet à l'aide de la notation point et les
avons affichés à l'écran.
• Le résultat de ce code est l'affichage de « Ahmed dit : Bonjour! » suivi de « Ahmed » et « 25 ».
78
39
4/25/24
POO en Python:
Notions: Exercice
1. Créez une classe Python appelée Voiture qui a les attributs suivants:
• marque
• modèle
• vitesse
• moteur (essence ou diesel)
2. Ajoutez un constructeur à la classe Voiture qui initialise les attributs ci-dessus lorsque l'on
crée un nouvel objet de la classe.
3. Ajoutez une méthode à la classe Voiture appelée accélérer qui augmente la vitesse de « v »
km/h à chaque fois que cette méthode est appelée.
4. Ajoutez une méthode à la classe Voiture appelée afficher_vitesse qui affiche la vitesse
actuelle de la voiture.
5. Créez un objet de la classe Voiture et utilisez les méthodes accélérer et afficher_vitesse pour
vérifier que tout fonctionne correctement.
79
POO en Python:
Notions: Corrigé
marque
modèle
vitesse
moteur (essence ou diesel)
1. Ajoutez un constructeur à la classe Voiture qui initialise les
attributs ci-dessus lorsque l'on crée un nouvel objet de la
classe.
2. Ajoutez une méthode à la classe Voiture appelée accélérer qui
augmente la vitesse de « v » km/h à chaque fois que cette
méthode est appelée.
3. Ajoutez une méthode à la classe Voiture appelée
afficher_vitesse qui affiche la vitesse actuelle de la voiture.
4. Créez un objet de la classe Voiture et utilisez les méthodes
accélérer et afficher_vitesse pour vérifier que tout fonctionne
correctement.
Note: La méthode format est une méthode de la classe str qui permet de formater une chaîne de caractères en y
insérant des valeurs de manière dynamique. Elle utilise des indicateurs de formatage {} dans la chaîne de
caractères qui seront remplacés par des valeurs.
80
40
4/25/24
81
82
41
4/25/24
83
84
42
4/25/24
85
86
43
4/25/24
Plan
1. Python : Introduction à la programmation avec Python types de données, opérations
arithmétiques et logiques, boucles, conditions, fonctions, classes et objets, gestion d'erreurs et
exceptions, bibliothèques et modules.
2. NumPy : Introduction à NumPy, tableaux NumPy, création et manipulation de tableaux,
fonctions universelles, indexation et tranchage, agrégation de données, filtrage de données,
lecture et écriture de fichiers, fonctions mathématiques.
3. Pandas : Introduction à Pandas, structures de données en Pandas, manipulation de données en
Pandas, indexation et tranchage, regroupement de données, jointures de données, nettoyage
de données, visualisation de données.
4. Analyse de données : Analyse de données exploratoire, nettoyage de données, extraction de
caractéristiques, analyse statistique, visualisation de données, modèles de machine learning.
5. Applications pratiques : Applications pratiques de Python, NumPy et Pandas dans des
domaines tels que la science des données, l'apprentissage automatique, l'analyse financière, la
bioinformatique, etc.
87
88
44
4/25/24
Introduction à Numpy
• Abréviation de « Numerical Python ».
• Objectifs :
• Comprendre les avantages de numpy par rapport aux listes pour la manipulation de
données
• Savoir utiliser les principales fonctionnalités de numpy, telles que la création de tableaux,
les opérations mathématiques et statistiques, le filtrage et le tri
• Être capable de traiter des données numériques et de réaliser des analyses de données
simples en utilisant numpy
89
Introduction à Numpy
1. Introduction à numpy
• Présentation de numpy et ses avantages par rapport aux listes
• Création de tableaux numpy
• Accès aux éléments d'un tableau numpy
• Opérations mathématiques et statistiques de base avec numpy
2. Fonctionnalités avancées de numpy
• Filtrage et tri de tableaux numpy
• Concaténation et division de tableaux numpy
• Opérations de transformation de tableaux numpy
3. Traitement de données numériques avec numpy
• Chargement de données à partir de fichiers
• Manipulation et traitement de données avec numpy
• Analyses statistiques simples avec numpy
4. Applications pratiques
• Utilisation de numpy pour des projets de science des données
• Projets pratiques utilisant numpy pour l'analyse de données
Pr. Hind Lamharhar 90
90
45
4/25/24
Introduction
• NumPy est une bibliothèque Python pour le calcul numérique qui fournit des structures de données
pour stocker des tableaux multidimensionnels de manière efficace. Il est souvent utilisé en conjonction
avec d'autres bibliothèques pour les applications scientifiques, notamment Pandas, Matplotlib, SciPy et
Scikit-learn.
• La présentation de NumPy et de ses fonctionnalités peut être divisée en trois parties principales :
1. Introduction à NumPy et ses avantages par rapport aux listes Python
2. Présentation de la structure de données ndarray (n-dimensional array)
3. Exemples d'utilisation de NumPy dans des applications scientifiques et de traitement de données
1. Introduction à NumPy et ses avantages par rapport aux listes Python :
• NumPy offre des performances plus élevées et une meilleure utilisation de la mémoire, en utilisant
des tableaux de données optimisés pour les calculs numériques.
• NumPy permet également de manipuler des tableaux de données multi-dimensionnels avec une
grande facilité
Pr. Hind Lamharhar 91
91
Introduction
2. Présentation de la structure de données ndarray (n-dimensional array) : La structure de données
principale de NumPy est l'ndarray, un tableau de données multi-dimensionnel.
• Les tableaux NumPy peuvent être créés à partir de listes Python
• Les tableaux NumPy peuvent être utilisés pour effectuer des opérations mathématiques vectorielles
et matricielles sur des données numériques.
• Les tableaux NumPy offrent également des fonctionnalités de slicing avancées, permettant
d'extraire facilement des sous-tableaux de données.
3. Exemples d'utilisation de NumPy : NumPy est largement utilisé dans les applications scientifiques et
de traitement de données, telles que la physique,le traitement d'images, le traitement de signaux, la
modélisation statistique …
• NumPy est également utilisé dans de nombreuses autres bibliothèques Python pour l'analyse de
données, telles que Pandas, Matplotlib et SciPy
92
46
4/25/24
Introduction
1. Introduction à numpy
• Présentation de numpy et ses avantages par rapport aux listes
• Création de tableaux numpy
• Accès aux éléments d'un tableau numpy
• Opérations mathématiques et statistiques de base avec numpy
2. Fonctionnalités avancées de numpy
• Filtrage et tri de tableaux numpy
• Concaténation et division de tableaux numpy
• Opérations de transformation de tableaux numpy
3. Traitement de données numériques avec numpy
• Chargement de données à partir de fichiers
• Manipulation et traitement de données avec numpy
• Analyses statistiques simples avec numpy
4. Applications pratiques
• Utilisation de numpy pour des projets de science des données
• Projets pratiques utilisant numpy pour l'analyse de données
93
94
47
4/25/24
Introduction:
Création de tableaux unidimensionnels et multidimensionnels
• NumPy permet de créer des tableaux multidimensionnels avec n'importe quel nombre de dimensions. Par exemple,
un tableau à deux dimensions peut être utilisé pour stocker des données en deux dimensions, telles que les
coordonnées x et y d'un point dans un plan cartésien.
• Utilisation de la méthode [Link] pour créer des tableaux : La méthode [Link] est l'une des principales
façons de créer un tableau NumPy. Elle prend en entrée une liste ou un tuple Python et crée un tableau NumPy
correspondant. Par exemple, pour créer un tableau unidimensionnel de nombres, on peut utiliser :
• Utilisation de [Link] et [Link] pour créer des tableaux de zéros et de uns respectivement :
• La méthode [Link] crée un tableau avec des éléments de valeur zéro,
• tandis que la méthode [Link] crée un tableau avec des éléments de valeur un.
• Par exemple, pour créer un tableau unidimensionnel de zéros avec 5 éléments, on peut utiliser :
95
Introduction:
Création de tableaux unidimensionnels et multidimensionnels
• Pour créer un tableau bidimensionnel de uns avec 3 lignes et 4 colonnes, on peut utiliser :
• Utilisation de [Link] pour créer des tableaux avec des éléments espacés régulièrement : La méthode
[Link] est utilisée pour créer un tableau avec des éléments espacés régulièrement. Elle prend en entrée les
bornes inférieure et supérieure de la plage de valeurs et l'incrément de la plage. Par exemple, pour créer un tableau
unidimensionnel avec des valeurs de 0 à 9 inclus, on peut utiliser :
• Utilisation de [Link] pour créer des tableaux avec des éléments générés aléatoirement : La sous-
bibliothèque [Link] est utilisée pour créer des tableaux avec des éléments générés aléatoirement. Par
exemple, pour créer un tableau unidimensionnel avec des valeurs aléatoires entre 0 et 1, on peut utiliser :
• Pour créer un tableau bidimensionnel avec des valeurs aléatoires générées à partir d'une distribution normale
(gaussienne), on peut utiliser :
96
48
4/25/24
Introduction:
Tableaux: Accès
• Accès aux éléments d'un tableau numpy : Pour accéder aux éléments d'un tableau NumPy, on peut
utiliser l'indexation ou le tranchage (slicing) comme suit :
1. Indexation : Pour accéder à un élément unique du tableau, on peut utiliser son index comme suit:
1. Pour accéder à un élément spécifique d'un sous-tableau, on peut utiliser l'indexation après le
tranchage, comme suit :
97
Introduction:
Opérations mathématiques et statistiques
• Les tableaux numpy prennent en charge une large gamme d'opérations mathématiques et
statistiques de base, notamment :
• Les opérations arithmétiques de base, telles que l'addition, la soustraction, la multiplication et la
division.
• Les fonctions mathématiques de base, telles que sin(), cos(), tan(), exp() et log().
• Les fonctions statistiques de base, telles que mean(), median(), std() et var().
• Par exemple, pour calculer la moyenne d'un tableau numpy, nous pouvons utiliser la fonction
mean() comme suit :
98
49
4/25/24
Introduction:
Opérations mathématiques et statistiques
1. La fonction sinus : [Link](x)
• Elle prend en entrée un tableau numpy ou un scalaire et renvoie
le sinus de chaque élément.
2. La fonction exponentielle : [Link](x)
• Elle prend en entrée un tableau numpy ou un scalaire et renvoie
l'exponentielle de chaque élément.
3. La fonction racine carrée : [Link](x)
• Elle prend en entrée un tableau numpy ou un scalaire et renvoie
la racine carrée de chaque élément
4. La fonction logarithme : [Link](x)
• Elle prend en entrée un tableau numpy ou un scalaire et renvoie
le logarithme naturel de chaque élément.
5. La fonction arrondi : [Link](x, n)
• Elle prend en entrée un tableau numpy ou un scalaire et renvoie
chaque élément arrondi au nombre de décimales spécifié par n.
Pr. Hind Lamharhar 99
99
Introduction:
Opérations mathématiques et statistiques
• [Link]() : calcule la moyenne d'un tableau.
• [Link]() : calcule la médiane d'un tableau.
• [Link]() : calcule la variance d'un tableau.
• [Link]() : calcule l'écart-type d'un tableau.
• [Link]() : calcule le percentile donné d'un tableau.
• Résultat :
100
50
4/25/24
101
102
51
4/25/24
Introduction à Numpy
1. Introduction à numpy
• Présentation de numpy et ses avantages par rapport aux listes
• Création de tableaux numpy
• Accès aux éléments d'un tableau numpy
• Opérations mathématiques et statistiques de base avec numpy
2. Fonctionnalités avancées de numpy
• Filtrage et tri de tableaux numpy
• Concaténation et division de tableaux numpy
• Opérations de transformation de tableaux numpy
3. Traitement de données numériques avec numpy
• Chargement de données à partir de fichiers
• Manipulation et traitement de données avec numpy
• Analyses statistiques simples avec numpy
4. Applications pratiques
• Utilisation de numpy pour des projets de science des données
• Projets pratiques utilisant numpy pour l'analyse de données
103
Fonctionnalités avancées
Les fonctionnalités avancées de NumPy comprennent des méthodes pour filtrer et trier les
tableaux, concaténer et diviser des tableaux, ainsi que des opérations de transformation de
tableaux.
1. Filtrage et tri de tableaux
2. Concaténation et division de tableaux
3. Opérations de transformation de tableaux
104
52
4/25/24
Fonctionnalités avancées
Filtrage et tri de tableaux
• Filtrer les valeurs supérieures à une certaine • Trier un tableau en ordre croissant :
limite dans un tableau :
105
Fonctionnalités avancées
Concaténation et division de tableaux
• Concaténer deux tableaux en une seule • Diviser un tableau en plusieurs sous-tableaux
106
53
4/25/24
Fonctionnalités avancées
Opérations de transformation de tableaux
• Transposer un tableau : • Aplatir un tableau à une dimension :
107
Fonctionnalités avancées
Autres opérations
• Répétition d'éléments : • Résolution d'une équation linéaire :
• Permet de répéter un tableau un certain • Permet de résoudre un système d'équations
nombre de fois dans une direction donnée à linéaires à l'aide de la fonction
l'aide de la fonction [Link](). [Link]().
108
54
4/25/24
Introduction à Numpy
1. Introduction à numpy
• Présentation de numpy et ses avantages par rapport aux listes
• Création de tableaux numpy
• Accès aux éléments d'un tableau numpy
• Opérations mathématiques et statistiques de base avec numpy
2. Fonctionnalités avancées de numpy
• Filtrage et tri de tableaux numpy
• Concaténation et division de tableaux numpy
• Opérations de transformation de tableaux numpy
3. Traitement de données numériques avec numpy
• Chargement de données à partir de fichiers
• Manipulation et traitement de données avec numpy
• Analyses statistiques simples avec numpy
4. Applications pratiques
• Utilisation de numpy pour des projets de science des données
• Projets pratiques utilisant numpy pour l'analyse de données
109
110
55
4/25/24
111
112
56
4/25/24
• La sortie sera:
113
• Vous pouvez également effectuer des opérations mathématiques sur les données
• par exemple, le calcul de la moyenne ou de l'écart type:
114
57
4/25/24
115
Introduction à Numpy
1. Introduction à numpy
• Présentation de numpy et ses avantages par rapport aux listes
• Création de tableaux numpy
• Accès aux éléments d'un tableau numpy
• Opérations mathématiques et statistiques de base avec numpy
2. Fonctionnalités avancées de numpy
• Filtrage et tri de tableaux numpy
• Concaténation et division de tableaux numpy
• Opérations de transformation de tableaux numpy
3. Traitement de données numériques avec numpy
• Chargement de données à partir de fichiers
• Manipulation et traitement de données avec numpy
• Analyses statistiques simples avec numpy
4. Applications pratiques
• Utilisation de numpy pour des projets de science des données
• Projets pratiques utilisant numpy pour l'analyse de données
116
58
4/25/24
117
Plan: Pandas
1. Introduction à pandas : 4. Analyse exploratoire de données :
• Présentation de la bibliothèque pandas • Calcul des statistiques descriptives des données
• Avantages de pandas par rapport aux autres outils de • Visualisation des données avec pandas et matplotlib
traitement de données • Traitement et transformation des données pour
2. Structures de données pandas : l'analyse
• Introduction aux objets Series et DataFrame 5. Manipulation avancée de données :
• Création et manipulation d'objets Series • Utilisation de fonctions lambda pour la
• Création et manipulation d'objets DataFrame transformation de données
• Opérations de sélection et de filtrage sur les objets • Utilisation de groupby pour regrouper les données
DataFrame • Utilisation de pivot_table pour créer des tableaux
3. Traitement et nettoyage de données : croisés dynamiques
• Gestion des valeurs manquantes dans les données • Manipulation de données temporelles
• Renommage et réindexation des colonnes et des 6. Applications pratiques :
lignes • Analyse de données financières avec pandas
• Suppression des doublons dans les données • Traitement de données scientifiques avec pandas
• Fusion et jointure de différents jeux de données • Utilisation de pandas pour l'analyse de données du
monde réel
Pr. Hind Lamharhar 118
118
59
4/25/24
Introduction à pandas
Présentation de la bibliothèque pandas
Pandas est une bibliothèque open-source pour le traitement de données en Python. Elle offre des
structures de données performantes et faciles à utiliser, ainsi que des outils pour manipuler et analyser ces
données.
119
Introduction à pandas
Avantages
[Link] structures de données hautement performantes : pandas offre deux structures de
données principales, les objets Series (pour les données unidimensionnelles) et les objets
DataFrame (pour les données bidimensionnelles)
[Link] outils de manipulation de données : pandas offre une grande variété d'outils pour
manipuler et transformer les données, notamment la sélection, le filtrage, le tri, la fusion et la
jointure de données.
[Link] gestion des données manquantes : pandas offre des outils pour gérer les données
manquantes,
4.L'intégration avec d'autres bibliothèques Python : pandas est conçu pour fonctionner en
tandem avec d'autres bibliothèques Python telles que NumPy et Matplotlib, ce qui facilite
l'analyse et la visualisation de données.
[Link] facilité d'utilisation : pandas est conçu pour être facile à apprendre et à utiliser, ce qui en
fait un choix populaire pour les débutants en traitement de données.
Pr. Hind Lamharhar 120
120
60
4/25/24
Structures de données
• Pandas est une bibliothèque Python très utilisée pour la manipulation et l'analyse de données. Elle offre
des structures de données efficaces pour le traitement de données tabulaires et en série temporelle,
ainsi que des outils pour importer, exporter et nettoyer des données.
• Un objet Series est un tableau à une dimension qui peut contenir une variété de types de données,
y compris des données numériques, des chaînes de caractères et des dates/heure.
• Les éléments sont accessibles par leur index, qui peut être de type entier, chaîne de caractères
ou date/heure.
• Les objets Series sont créés à partir d'un tableau numpy, d'une liste Python ou d'un
dictionnaire.
• Un objet DataFrame est une structure de données tabulaire qui peut contenir des données de
différents types dans des colonnes nommées.
• Les colonnes peuvent être de types différents, y compris des données numériques, des chaînes
de caractères et des dates/heure.
• Les DataFrames peuvent être créés à partir de dictionnaires Python, de fichiers CSV, Excel, SQL,
etc.
Pr. Hind Lamharhar 121
121
Structures de données
Series
• Un objet Series est un tableau à une seule dimension, étiqueté, capable de contenir n'importe
quel type de données. Chaque élément d'un objet Series est associé à une étiquette, appelée
index.
• Voici quelques exemples de création et manipulation d'objets Series avec pandas :
• Créer un objet Series à partir d'une liste : Résultat :
122
61
4/25/24
• Résultat
• Résultat :
123
• Résultat : • Résultat :
124
62
4/25/24
125
126
63
4/25/24
127
• Dans cet exemple, nous avons spécifié l'ordre des colonnes en utilisant la liste ['nom', 'ville', 'age']. Le
résultat est un objet DataFrame avec les colonnes dans l'ordre spécifié.
• Une fois que nous avons créé un objet DataFrame, nous pouvons effectuer différentes opérations de
sélection et de manipulation sur les données. Par exemple, pour sélectionner une colonne spécifique,
nous pouvons utiliser la notation df['nom_de_la_colonne']. Pour sélectionner plusieurs colonnes, nous
pouvons utiliser une liste de noms de colonnes, comme ceci : df[['nom_colonne_1', 'nom_colonne_2']].
• Pour sélectionner des lignes spécifiques, nous pouvons utiliser la méthode .loc[]. Par exemple, pour
sélectionner
Pr. Hind Lamharhar la première ligne, nous pouvons utiliser [Link][0]. Pour sélectionner plusieurs lignes, nous 128
pouvons utiliser une liste d'index, comme ceci : [Link][[0, 2, 3]].
128 • Enfin, nous pouvons filtrer les données en utilisant une condition. Par exemple, pour sélectionner toutes
les lignes où l'âge est supérieur à 30, nous pouvons utiliser df[df['age'] > 30].
64
4/25/24
Résultat :
129
130
65
4/25/24
• Résultat :
131
• Résultat :
•
132
66
4/25/24
• Utilisation de l'opérateur isin() pour filtrer les lignes dont la valeur d'une colonne est dans une
liste donnée :
133
134
67
4/25/24
135
136
68
4/25/24
• Cela produira un DataFrame avec une nouvelle colonne "prix_dollar" contenant les prix convertis en
dollars.
Pr. Hind Lamharhar 137
137
138
69
4/25/24
139
140
70
4/25/24
141
142
71
4/25/24
143
144
72
4/25/24
Applications pratiques
• Pour l'analyse de données financières, pandas est souvent utilisé pour importer et traiter les données de
marché, telles que les prix des actions, les indices boursiers et les devises. Les données peuvent être
extraites à partir de fichiers CSV, d'API de marché ou de bases de données financières. Les
fonctionnalités de pandas pour les séries temporelles sont particulièrement utiles pour l'analyse
financière, notamment pour le calcul de rendements, la visualisation de tendances et la détection de
volatilité.
• Pour le traitement de données scientifiques, pandas est utilisé pour importer et traiter les données de
laboratoire, telles que les résultats d'expériences, les mesures et les observations. Les données peuvent
être extraites à partir de fichiers CSV, de bases de données ou de capteurs et équipements de
laboratoire. Les fonctionnalités de pandas pour la manipulation de données, telles que la fusion, la
jointure et l'agrégation, sont utiles pour regrouper et analyser les données scientifiques.
• Enfin, pandas est souvent utilisé pour l'analyse de données du monde réel, telles que les données
d'enquête, les données de vente et les données de trafic. Les fonctionnalités de pandas pour la
manipulation de données, la visualisation et l'analyse statistique sont particulièrement utiles pour
comprendre et interpréter les données du monde réel.
145
146
73
4/25/24
Plan
I. Introduction à Matplotlib IV. Graphiques avancés
1. Installation et configuration de Matplotlib 1. Graphiques en 3D
2. Présentation de l'API de Matplotlib 2. Graphiques de surfaces
3. Utilisation de pyplot pour créer des graphiques 3. Graphiques de contour
simples 4. Graphiques de diffusion de la chaleur
5. Graphiques d'histogramme
II. Types de graphiques
1. Graphiques en barres
V. Visualisation de données réelles
2. Graphiques à points 1. Importation de données avec Pandas
3. Graphiques en nuages de points 2. Utilisation de Pandas pour nettoyer et
4. Graphiques en boîte et moustaches
manipuler les données
5. Graphiques en courbes 3. Création de graphiques pour visualiser les
III. Personnalisation des graphiques données
1. Ajout de titres, de légendes et d'étiquettes d'axe 4. Interactivité avec des widgets
2. Personnalisation des couleurs et des styles de ligne
3. Définition de limites d'axe personnalisées
4. Utilisation de sous-graphiques
Pr. Hind Lamharhar 147
147
Introduction à Matplotlib
Installation et configuration de Matplotlib
• vous pouvez installer Matplotlib en utilisant pip ou conda, selon l'environnement de travail. Par
exemple, pour installer avec pip :
• Après l'installation, vous devez importer la bibliothèque dans votre script Python en utilisant :
148
74
4/25/24
Introduction à Matplotlib
Présentation de l'API de Matplotlib
• Matplotlib dispose de plusieurs API pour créer des graphiques.
• Les deux principales
• sont la API de pyplot : est la plus simple à utiliser et fournit une interface facile pour créer
des graphiques simples.
• et la API orientée objet.
149
Introduction à Matplotlib
Utilisation de pyplot
• pyplot fournit des fonctions pour créer différents types de graphiques, tels que des graphiques
en barres, des graphiques en courbes, des graphiques en nuages de points, etc. Voici un
exemple de code pour créer un graphique en barres à partir de données simples :
150
75
4/25/24
Types de graphiques
Graphiques en barres
• Ces graphiques sont utiles pour visualiser des comparaisons entre des catégories distinctes. Les
barres peuvent être empilées les unes sur les autres pour montrer des totaux cumulatifs ou
groupées pour montrer des comparaisons côte à côte. Par exemple, on peut utiliser un
graphique en barres pour montrer les ventes mensuelles de différents produits dans une
entreprise.
151
Types de graphiques
Graphiques en nuages de points
• Ces graphiques sont utiles pour montrer la répartition des données et la variabilité de celles-ci.
Chaque point représente une observation individuelle et peut être coloré ou marqué en
fonction de différentes variables. Par exemple, on peut utiliser un graphique à points pour
montrer la relation entre la taille et le poids des individus dans une population.
152
76
4/25/24
Types de graphiques
Graphiques en boîte et moustaches
• Les graphiques en boîte et moustaches, également appelés
graphiques en boîte, sont un type de graphique utilisé
pour représenter les distributions de données. Ils sont
particulièrement utiles pour comparer les distributions
entre différentes catégories ou groupes de données.
• Le graphique en boîte se compose d'une boîte, qui
représente le deuxième et le troisième quartile de la
distribution, une ligne à l'intérieur de la boîte qui
représente la médiane, et des moustaches qui s'étendent
jusqu'à la valeur minimum et maximum, à l'exclusion des
valeurs aberrantes (représentées par des points
individuels).
• Voici un exemple de graphique en boîte et moustaches créé
avec Matplotlib :
153
Types de graphiques
Graphiques en courbes
• Les graphiques en courbes sont largement utilisés pour représenter des
données qui évoluent avec le temps ou avec une variable continue.
• les graphiques en courbes sont crées avec la fonction plot().
• Exemple: une liste est de 100 valeurs comprises entre 0 et 10 est créer
avec la fonction linspace() de NumPy,
• utilisée comme variable indépendante x.
• La variable dépendante y est calculée comme le sinus de x avec la
fonction sin() de NumPy.
• Ensuite, le graphique en courbes est crée avec la fonction
plot(x,y)
• labels d'axes crées avec les fonctions xlabel() et ylabel() sont , et
titre avec la fonction title().
• Enfin, le graphique est affiché avec la fonction show().
Il est possible de personnaliser davantage le graphique en courbes en ajoutant
Pr. Hind Lamharhar des légendes, des marqueurs, des couleurs, des styles de ligne, etc. 154
154
77
4/25/24
Graphiques avancés
Graphiques en 3D
• Les graphiques en 3D sont des graphiques qui permettent
de visualiser des données en trois dimensions. Matplotlib
propose une API pour la création de graphiques en 3D.
Pour cela, on peut utiliser la classe Axes3D du module
mpl_toolkits.mplot3d.
• Voici un exemple de code pour créer un graphique en 3D
avec Matplotlib :
155
Graphiques avancés
Graphiques de surfaces
• Les graphiques de surfaces sont des graphiques qui
représentent des données en trois dimensions sous la forme
d'une surface. Matplotlib propose une API pour la création de
graphiques de surfaces. Pour cela, on peut utiliser la fonction
plot_surface de la classe Axes3D.
• Voici un exemple de code pour créer un graphique de surface
avec Matplotlib :
156
78
4/25/24
Graphiques avancés
Graphiques de contour
• Les graphiques de contour sont des graphiques qui
représentent des données en deux dimensions sous la forme
de courbes de niveau. Matplotlib propose une API pour la
création de graphiques de contour. Pour cela, on peut utiliser
la fonction contour de la classe Axes.
• Voici un exemple de code pour créer un graphique de contour
avec Matplotlib :
157
Graphiques avancés
Graphiques de diffusion de la chaleur
• Les graphiques de diffusion de la
chaleur, également appelés
graphiques de carte thermique, sont
utilisés pour représenter la répartition
spatiale des données en utilisant des
couleurs pour indiquer la valeur
numérique de chaque point de
données.
• Les graphiques de diffusion de la
chaleur représentent des données en
deux dimensions sous la forme d'une
distribution de probabilité à l'instant t. Avec la fonction imshow Avec la fonction pcolor de la classe
Axes
• Matrice de données aléatoires de taille 10x10,
• interpolation 'nearest’.
• xlabel(), ylabel() et title(),
• et une légende de couleur colorbar().
Pr. Hind Lamharhar 158
158
79
4/25/24
Graphiques avancés
Graphiques d'histogramme
• Les graphiques d'histogramme sont utilisés
pour représenter la distribution de données
en utilisant des colonnes verticales pour
indiquer le nombre de points de données
dans chaque plage de valeurs.
• Voici un exemple de code pour créer un
graphique d'histogramme avec Matplotlib :
159
160
80
4/25/24
161
162
81
4/25/24
163
Quizs
1. Question 1: Qu'est-ce que Matplotlib ? • Question 4: Comment ajouter un titre à un graphique
a) Une bibliothèque Python pour la visualisation de données Matplotlib ?
b) Une bibliothèque Python pour le traitement de données a) [Link]()
b) [Link]()
c) Une bibliothèque Python pour la création d'applications
c) [Link]()
web
Réponse : a)
Réponse : a)
2. Question 2: Comment importer la bibliothèque Matplotlib • Question 5: Comment sauvegarder un graphique
en Python ? Matplotlib en tant qu'image ?
a) import numpy as np a) [Link]()
b) import pandas as pd b) [Link]()
c) import [Link] as plt c) [Link]()
Réponse : c) Réponse : b)
3. Question 3: Comment afficher un graphique en barres avec
Matplotlib ?
a) [Link]()
b) [Link]()
c) [Link]()
Réponse : c)
Pr. Hind Lamharhar 164
164
82
4/25/24
Quiz
1. Question 6: Comment créer un graphique en nuage de points 1. Question 9: Comment ajouter une grille à un
avec Matplotlib ? graphique Matplotlib ?
a) [Link]() a) [Link]()
b) [Link]() b) [Link]()
c) [Link]()
c) [Link]()
Réponse : b)
Réponse : a)
2. Question 7: Comment ajouter une légende à un graphique
Matplotlib ? 2. Question 10: Comment afficher plusieurs graphiques
sur une même figure avec Matplotlib ?
a) [Link]()
a) [Link]()
b) [Link]()
b) [Link]()
c) [Link]()
c) [Link]()
Réponse : a)
Réponse : c)
3. Question 8: Comment modifier la couleur d'un graphique
Matplotlib ?
a) [Link]()
b) [Link]()
c) [Link]()
Pr. Hind Lamharhar Réponse : c) 165
165
166
83
4/25/24
Seaborn
• Seaborn est une bibliothèque de visualisation de données Python basée sur Matplotlib. Elle
fournit une interface de haut niveau pour créer des graphiques statistiques attrayants et
informatifs. Seaborn est principalement utilisé pour la visualisation de données à grande
échelle, ainsi que pour la création de graphiques complexes tels que les graphiques en violon et
les diagrammes de dispersion en nuage de points. Elle dispose également de nombreuses
options de personnalisation pour améliorer l'apparence et la lisibilité des graphiques.
167
168
84
4/25/24
Plan
I. Introduction à Seaborn III. Personnalisation des graphiques avec Seaborn :
1. Présentation de Seaborn et de ses fonctionnalités 1. Personnalisation des axes
2. Installation et configuration de Seaborn
2. Personnalisation des couleurs
3. Prise en main de la documentation de Seaborn
3. Personnalisation des styles
II. Les types de graphiques disponibles dans Seaborn :
4. Ajout de titres et d'étiquettes
1. Graphiques en barres
[Link] de données multivariées avec Seaborn:
2. Graphiques à points
1. Cartes de chaleur
3. Graphiques en nuages de points
2. Nuages de points à plusieurs variables
4. Graphiques en boîte et moustaches
3. Matrices de dispersion
5. Graphiques en courbes
4. Diagrammes en violon
6. Graphiques de violon
V. Utilisation de Seaborn avec Pandas :
7. Graphiques d'histogramme
1. Chargement de données à partir de fichiers CSV
8. Graphiques de densité de noyau
2. Manipulation de données avec Pandas
9. Graphiques de chaleur
3. Création de graphiques à partir de données Pandas
169
Introduction à Seaborn
Présentation de Seaborn et de ses fonctionnalités
• Seaborn offre une variété de graphiques qui peuvent être utilisés pour visualiser des données
statistiques. Les fonctionnalités principales de Seaborn sont les suivantes :
1. Graphiques de distribution : Ils permettent de visualiser la distribution d'un ensemble de données à
l'aide de différents types de graphiques comme les histogrammes, les graphiques de densité, les
graphiques en nuages de points et les graphiques en boîte et moustaches.
2. Graphiques de catégories : Ils permettent de visualiser des données catégorielles telles que les
barres, les nuages de points catégoriels et les diagrammes de violon.
3. Graphiques de relations : Ils permettent de visualiser les relations entre deux variables, telles que
les graphiques de dispersion et les graphiques de régression.
4. Graphiques de matrice : Ils permettent de visualiser les relations entre plusieurs variables
simultanément, tels que les heatmaps et les matrices de nuages de points.
170
85
4/25/24
• Une fois que Seaborn est installé, vous pouvez l'importer dans votre code Python en utilisant la
commande suivante :
• Il est recommandé d'importer Seaborn en tant que sns, car cela est couramment utilisé dans la
documentation et les exemples de code. Vous êtes maintenant prêt à utiliser Seaborn pour
créer des graphiques et des visualisations.
171
172
86
4/25/24
173
174
87
4/25/24
175
176
88
4/25/24
177
178
89
4/25/24
179
180
90
4/25/24
181
182
91
4/25/24
183
184
92
4/25/24
185
186
93
4/25/24
187
188
94
4/25/24
189
190
95
4/25/24
191
192
96
4/25/24
193
194
97
4/25/24
195
196
98
4/25/24
• On peut constater que seaborn produit un histogramme avec des couleurs et une apparence plus
esthétique par défaut. Seaborn utilise également une approche plus orientée "dataset", où il est plus
facile de visualiser des relatsions entre différentes variables d'un jeu de données.
• matplotlib reste un outil très flexible et personnalisable pour la visualisation de données, tandis que
seaborn est plus axé sur la production de graphiques statistiques de haute qualité en utilisant des
techniques avancées telles que les diagrammes en violon, les cartes thermiques, etc.
Pr. Hind Lamharhar 197
197
• On peut constater que seaborn produit un histogramme avec des couleurs et une apparence plus
esthétique par défaut. Seaborn utilise également une approche plus orientée "dataset", où il est plus
facile de visualiser des relatsions entre différentes variables d'un jeu de données.
• matplotlib reste un outil très flexible et personnalisable pour la visualisation de données, tandis que
seaborn est plus axé sur la production de graphiques statistiques de haute qualité en utilisant des
techniques avancées telles que les diagrammes en violon, les cartes thermiques, etc.
Pr. Hind Lamharhar 198
198
99
4/25/24
• de dispersion • de dispersion
•
199
200
100
4/25/24
201
101