Langage de programmation
Python
Professeur : JAKJOUD Fatimazahra
PLAN DU COURS
[Link] à Python
[Link] bases de la programmation Python
[Link] de Données en Python
[Link] et traitement des fichiers
[Link] Pratiques de Python : Mini-projets
[Link] à Python
1. Pourquoi Python ?
2. Histoire d’innovation
3. Projets réalisés avec Python
4. Différence entre Python 2 et Python 3
5. Installation de Python
6. Fonctionnement de l’interpréteur
7. Interface utilisateur en ligne de commande CLI
Introduction au Langage Python
Question : Pourquoi un ingénieur (profil développeur ou non ) devrait
apprendre Python ?
●
Resolution des problèmes complexes :
– Syntaxe simple et claire
– Prototyper la solution rapidement
– Programmer et résoudre le problème rapidement
– Ex : Créer des scripts d’automatisation, analyser des données en
quelque lignes
Introduction au Langage Python
Question : Pourquoi un ingénieur (profil développeur ou non ) devrait
apprendre Python ?
●
Cas d’utilisation multiples
– Automatisation des taches fastidieuses : déploiement de logiciels,
gestion de réseaux
– Préparation et analyse des données : modélisation dans un espace,
application des transformation mathématiques sur les données ( Numpy,
Pandas, Matplotlib)
– Simulation des données et calcul scientifique : avec SciPy
Introduction au Langage Python
Question : Pourquoi un ingénieur (profil développeur ou non ) devrait apprendre Python ?
●
Outils d’ingénierie
– Numpy et SciPy : Calcul scientifique et les mathématiques
– Matplotlib : Visualisation des données, tracer les courbes, visualisation des séries
temporelles de données, évaluation des performances des algorithmes
– Pandas : manipulation et analyse des données
– OpenCv et Pillow: Traitement d’image
– Tensorflow et Pytorch : Création des algorithmes d’apprentissage et Réseaux de neurones
artificiels
– Scikit-Learn : Machine Learning et algorithmes de traitement des données
Introduction au Langage Python
Question : Pourquoi un ingénieur (profil développeur ou non ) devrait
apprendre Python ?
●
Impact sur la carrière d’un ingénieur
– Une compétence très demandée dans le marché du travail
– Polyvalence interdisciplinaire
– Acceleration de l’innovation
– Collaboration avec les autres domaines
Introduction au Langage Python
Python … Histoire d’innovation
●
Python a été crée en 1991 par Guido Rossum
●
Une alternative simplifié à des langages plus complexes comme C ou JAVA
●
Au fil des années : Python est devenu un langage universel
– Développement de logiciels
– Automatisation des taches
– Analyse des données
– Intelligence artificielle
– Ingénierie des Systèmes embarqués
Introduction au Langage Python
Solution basé sur Python
●
Automatisation des tests logiciels chez google
– Tests de nombreux produits : Youtube, Google Search..
– UI : Selenium
– Tests unitaires et fonctionnels : Pytest
Introduction au Langage Python
Solution basé sur Python
●
Autopilot de Tesla
– Autopilot : logiciel des voitures autonome traite les images en temps réel
pour la reconnaissance des objets et la prise de décisions
– Conception des modèles de l’intelligence artificielle : Tensorflow et Keras
– Traitement des images : OpenCV
– Traitement des données et les modèles prédictifs : Scikit-learn
Introduction au Langage Python
Solution basé sur Python
●
Application web Instagram
– Instagram utilise Django pour la gestion de son backend
– La gestion des bases de données : PostgreSQL
– Traitement des images : OpenCV
– Traitement des données et les modèles prédictifs : Scikit-learn
Introduction au Langage Python
Solution basé sur Python
●
Automatisation des infrastructures Cloud chez Dropbox
– Python est très utilisé pour l’automatisation et la gestion des
infrastructures Cloud : Gestion des serveurs, distribution des fichiers,
gestion des utilisateurs
– Gestion des interaction avec les services AWS : Boto3
– Création des Micro-service et API : Flask
Introduction au Langage Python
Conclusion
Ces projets illustrent bien comment Python est utilisé dans des domaines
variés, tels que l’automatisation, l’intelligence artificielle, l’analyse de
données, le développement web et la gestion d'infrastructure cloud.
Apprendre Python donne aux ingénieurs une compétence essentielle qui
ouvre des opportunités dans presque tous les secteurs technologiques
actuels.
Introduction au Langage Python
Différence entre Python 2 et Python 3 :
●
Python 2 est lancé en 2000 et a été utilisé pendant 20 ans
●
En 2008, il est apparu nécessaire de corriger certaines incohérence dans la
syntaxe et d’introduire des fonctionnalités plus modernes.
●
Janvier 2020, python2 est devenu obsolète et python3 est désormais la
version privilégiée pour tout développement actuel.
●
Python 3 : conçu pour être plus cohérent pour rendre le code plus lisibles et
performant.
Introduction au Langage Python
Principales différences entre Python 2 et Python 3 :
●
Print : d’une instruction à une fonction
– Python 2 :
– Python 3
Introduction au Langage Python
Principales différences entre Python 2 et Python 3 :
●
Division des entiers : Retourne un nombre flottant
– Python 2 :
– Python 3 :
Introduction au Langage Python
Principales différences entre Python 2 et Python 3 :
●
Gestion des chaînes de caractères :
– Python 2 : En Python 2, les chaînes de caractères sont stockées sous forme
d'octets, tandis qu'Unicode doit être explicitement indiqué avec un u avant la
chaîne, Cela rend la gestion de caractères non ASCII plus compliquée
– Python 3 : toutes les chaînes sont Unicode par défaut, facilitant la gestion des
caractères non-ASCII
Introduction au Langage Python
Comment faire fonctionner un Code python
●
Il existe deux étapes principales pour exécuter un code :
– Compilation : a l’aide d’un compilateur, on transforme les lignes de code en
fichier exécutables en langage machine
●
Pour chaque modification du code source, on le recompile
– Interprétation : Un interpréteur traduit ligne par ligne le code transformé en
langage machine
Introduction au Langage Python
Installation de Python
●
Python est multiplateforme : Windows,
Mac, Linux
●
Installation sur Windows :
– Telecharger l’installateur : [Link]
Introduction au Langage Python
Installation de Python
●
Python est multiplate-forme :
Windows, Mac, Linux
●
Installation sur Windows :
– Telecharger l’installateur :
[Link]
– Bien choisir la version a
installer
Introduction au Langage Python
Installation de Python
●
Exécution de l’installateur :
Introduction au Langage Python
Installation de Python
●
Exécution de l’installateur :
Introduction au Langage Python
Installation de Python
●
Environnement d’exécution :
Introduction au Langage Python
Installation de Python
●
Environnement d’exécution : Vérification de l’installation
Introduction au Langage Python
Installation de Python
●
Éditeur de code : Outils essentiel pour programmer.
– Faciliter la rédaction du code
– Coloration syntaxique : identification et coloration des mots-clés, les variables et les
structures de code → Code plus lisible
– Indentation automatique : Python étant un langage sensible a l’indentation, les
éditeurs les gèrent automatiquement pour respecter les régles du langage
– Autocomplétion : par des suggestions de complétion pour les mots-clés, fonction,
objet → Gagner le temps, éviter les fautes de frappe
– Détection des erreurs syntaxiques et les problèmes potentiels au cours de l’écriture
du code → Correction avant l’exécution
Introduction au Langage Python
Installation de Python
●
Éditeur de code : Outils essentiel pour programmer.
– Navigation facile entre les fichiers et répertoire d’un projets Python
– Débogage et exécution directe dans l’éditeur, certains éditeurs permettent même de
tracer l’exécution du code efficacement
Introduction au Langage Python
Installation de Python
●
Éditeur de code : Exemple d’éditeurs de code
– Visual Studio ( VS code)
– Pycharm
– Sublime Text
Introduction au Langage Python
Environnements Virtuels
●
Venv : permettent d’isoler les dépendances des projets Python
●
Chaque projet peut avoir ses propres versions de bibliothèques sans interférence avec
d’autres projets
●
Créer un environnement virtuel : python3 -m venv nom_de_l_environnement
●
Activer l’environnement virtuel : .\nom_de_l_environnement\Scripts\activate
Introduction au Langage Python
Arborescence d’un projets Python
my_project/
├── [Link] # Description du projet
├── [Link] # Liste des dépendances (bibliothèques)
├── [Link] # Script d'installation du projet (optionnel)
├── .gitignore # Fichier pour ignorer certains fichiers dans Git
├── my_project/ # Dossier contenant le code source
│ ├── __init__.py # Fichier pour définir le package Python
│ ├── [Link] # Module 1 du projet
│ ├── [Link] # Module 2 du projet
└── venv/ # Environnement virtuel (optionnel mais recommandé)
├── bin/ # Scripts exécutables (python, pip, etc.)
├── lib / # Bibliothèques installées
Introduction au Langage Python
Fonctionnement de l’interpréteur
●
Python fonctionne de manière interprétée : le code est exécuté ligne par ligne
●
L’interpréteur : exécute les instructions une par une en temps réel qu’elles sont
saisies → cela permet de voir les résultats immédiatement → mode interactif
●
Exemple :
$ python
>>> a = 5
>>> b = 10
>>> c = a + b
>>> print(c)
15
Introduction au Langage Python
IDLE : Integrated Development and Learning Environment
●
IDLE est l’éditeur de code par défaut fourni avec Python. Avec une interface
simple intuitive pour écrire et exécuter le code
●
Fonctionnalités de IDLE :
– Shell interactif : IDLE propose une fenêtre interactive pour saisir et
interpréter les résultats immédiatement.
– Éditeur de texte : Donne la possibilité d’écrire les scripts et les sauvegarder
sous formes de fichiers .py
– Exécution de scripts : IDLE permet d’exécuter les scripts complets en
appuyant sur F5 ou via le menu Run → Run Module
Introduction au Langage Python
IDLE : Integrated Development and Learning Environment
●
Exercice:
– Ouvrir IDLE
– Créer un fichier Python avec le code suivant :
a=12
b=15
c=b+a
print ( c )
– Sauvegarder-le sous [Link] et exécuter-le
Introduction au Langage Python
Ipython : Interpreteur Interactif
●
Ipython : une interface interactive que l’interpréteur standard
●
Propose des outils supplémentaires pour les scientifiques, les ingénieurs et les
développeurs
●
Caractéristiques :
– Complétion automatique : IPython suggère des commandes et noms de
variables avec la touche Tab, facilitant la saisie et réduisant les erreurs.
– Historique des commandes : Il conserve un historique des commandes
précédentes, que vous pouvez rappeler avec les touches fléchées haut/bas.
– Magic commands : Ce sont des commandes spéciales qui permettent
d’exécuter des tâches courantes plus rapidement. Par exemple, %time mesure
le temps d’exécution d’une commande, et %run permet de lancer des scripts
Python.
Introduction au Langage Python
Ipython : Interpréteur Interactif
●
Ipython : une interface interactive que l’interpréteur standard
●
Lancer Ipython en entrant ipython dans la console :
Introduction au Langage Python
Ipython : Interpréteur Interactif
●
Ipython : une interface interactive que l’interpréteur standard
●
Exécuter des commandes Python interactive :
In [1]: a = 100
In [2]: b = 200
In [3]: a + b
Out[3]: 300
Introduction au Langage Python
Ipython : Interpréteur Interactif
●
Ipython : une interface interactive que l’interpréteur standard
●
Magic command : Mesurer le temps d’exécution d’une opération
In [4]: %time sum(range(100000))
CPU times: user 1.3 ms, sys: 0 ns, total: 1.3 ms Wall time: 1.29 ms
Les bases du langage Python
1. Organisation du code python
●
Structure d’un projet en Python : Modules , Packages, Importations
1.1. Modules :
●
Un module est un fichier .py contenant du code python, qui peut
inclure des fonctions, des classes et des variables.
●
Un projet Python typique est souvent divisé en plusieurs modules
pour faciliter l'organisation du code.
Les bases du langage Python
1. Organisation du code python
●
Structure d’un projet en Python : Modules , Packages, Importations
1.1. Modules :
●
Exemple de module :
●
Pour utiliser un module, il suffit de l’importer dans un autre fichier
Python
Les bases du langage Python
1. Organisation du code python
●
Structure d’un projet en Python : Modules , Packages, Importations
1.2. Packages:
●
Un package est un répertoire contenant plusieurs modules ainsi
qu’un fichier spécial nommé __init__.py (meme s’il peut etre
vide). Cela permet de structurer le projet de manière hiérarchique.
Les bases du langage Python
1. Organisation du code python
●
Structure d’un projet en Python : Modules , Packages, Importations
1.2. Packages:
●
Vous pouvez ensuite importer un module à partir d’un package
Les bases du langage Python
1. Organisation du code python
●
Structure d’un projet en Python : Modules , Packages, Importations
1.3. Importations:
●
Bibliothèques standard : Python offre une bibliothèque standard riche.
Par exemple, vous pouvez utiliser le module os pour interagir avec le
système d’exploitation.
●
Bibliothèques tierces : Les bibliothèques tierces peuvent être installées
via pip et importées dans votre projet. Exemples : numpy, pandas, etc.
Les bases du langage Python
[Link] de données et operations
2.1. Variables et affectations
●
En python, vous pouvez créer une variable en
l’affectant directement à une valeur
●
Python est un langage à typage dynamique, ce qui
signifie que vous n'avez pas besoin de déclarer le type
de la variable au préalable.
●
Types de données de base :
– int : Entiers (ex. 10, -3, 0)
– float : Nombres à virgule flottante (ex. 3.14, -2.5)
– string : Chaînes de caractères (ex. "Bonjour",
'Python')
– bool : Booléens (ex. True, False)
Les bases du langage Python
[Link] de données et opérations
[Link]érations mathématiques
●
Opérations mathématiques : Addition ( +),
Soustraction (-), Multiplication (*), Division (/),
Exposant (**), Division entière ( //), Modulo(%).
Les bases du langage Python
[Link] de données et opérations
[Link]érations logiques
●
And , Or, Not
Les bases du langage Python
[Link] de données et opérations
[Link] conditionnelles
Les bases du langage Python
[Link] de données et opérations
[Link] conditionnelles :
●
Vous pouvez combiner plusieurs conditions avec
les opérateurs logiques and, or.
Les bases du langage Python
[Link] de données et opérations
[Link] :
●
Boucle For : permet d'itérer sur une séquence (liste,
chaîne de caractères, etc.)
●
Boucle While : continue tant qu’une condition est
vraie
Les bases du langage Python
[Link] de données et opérations
[Link] :
●
Gestion des itérations et optimisation des boucles : Pour optimiser les boucles,
évitez les opérations coûteuses à l'intérieur des boucles. Utilisez des fonctions ou
des méthodes optimisées comme la compréhension de liste.
●
Exemple de traitement automatique d'une liste de données :
Les bases du langage Python
[Link] de données et opérations
[Link]:
●
Déclaration et appel de fonctions : Une fonction est définie avec le mot-clé
def. Elle peut recevoir des paramètres et retourner une valeur.
●
Parametres et valeurs de retour : Vous pouvez définir des fonctions avec des
paramètres optionnels ou multiples, et retourner plusieurs valeurs.
Les bases du langage Python
[Link] de données et opérations
[Link]:
●
Notion de portée ( variables locales et globales) : Les variables déclarée dans une
fonction sont locales à cette fonction, tandis que les variables globales sont
accessibles partout dans le script.
Les bases du langage Python
[Link] de données et opérations
[Link]:
●
Passage d’arguments par référence ou par valeur : En Python, les objets mutables
(comme les listes) sont passés par référence, tandis que les objets immuables
(comme les entiers, flottants, chaînes) sont passés par valeur.
Les bases du langage Python
Exercice 1 :
– Créez un module Python appelé [Link] qui contient deux fonctions :
●
addition(a, b) : qui retourne la somme de a et b.
●
soustraction(a, b) : qui retourne la différence entre a et b.
– Dans un autre fichier appelé [Link], importez le module calcul et
utilisez les deux fonctions avec des valeurs de votre choix.
– Ajoutez une recommandation de nommage aux fichiers et fonctions.
Les bases du langage Python
Exercice 2 :
– Créez une variable x de type entier, une variable y de type flottant, une
variable nom de type chaîne, et une variable est_actif de type booléen.
– Effectuez les opérations suivantes :
●
Additionnez x et y et affichez le résultat.
●
Changez la valeur de nom en une autre chaîne et affichez-la.
●
Changez la valeur de est_actif à son opposé (utilisez not).
Les bases du langage Python
Exercice 3 :
– Écrivez un programme qui vérifie si un nombre entier donné est pair ou
impair.
– Si le nombre est supérieur à 10, affichez un message supplémentaire :
"Le nombre est supérieur à 10".
– Si le nombre est pair et supérieur à 10, affichez "Le nombre est pair et
supérieur à 10".
Les bases du langage Python
Exercice 4 :
– Écrivez une boucle for qui affiche les nombres de 1 à 5.
– Écrivez une boucle while qui affiche les nombres de 5 à 1 en ordre
décroissant.
– Optimisez une boucle pour parcourir une liste et doubler chaque
élément de cette liste.
Les bases du langage Python
Exercice 5 :
– Créez une fonction carre(nombre) qui prend un entier en entrée et
retourne son carré.
– Créez une fonction calculer_operations(a, b) qui prend deux paramètres
et retourne à la fois leur somme et leur produit.
– Modifiez une liste passée en paramètre d'une fonction en ajoutant un
nouvel élément à cette liste.
Les bases du langage Python
Exercice 6 :
Créer un programme pour gérer une liste d'étudiants inscrits dans une
classe. Chaque étudiant a un nom, une note, et un statut indiquant s'il a
validé ou non. Le programme devra permettre de :
– Ajouter un étudiant à la liste.
– Mettre à jour la note d'un étudiant.
– Afficher tous les étudiants et leur statut (validé ou non).
– Calculer la moyenne de la classe.
– Gérer les erreurs comme la tentative de mise à jour d'un étudiant qui
n'existe pas.
Structures de Données en Python
[Link], Tuples et Dictionnaires :
●
Une Liste est une collection ordonnées et modifiable d’éléments
définie entre crochets []
●
Une liste peut contenir des éléments de différents types
Structures de Données en Python
[Link], Tuples et Dictionnaires :
●
Les Tuples sont similaires aux listes, mais immuables :
immodifiables âpres leurs création, et sont définis par ().
Structures de Données en Python
[Link], Tuples et Dictionnaires :
●
Un Dictionnaires est une collection de paires clé-valeur, utilisée pour
stocker des données associatives. Chaque clé doit être unique.
Structures de Données en Python
[Link], Tuples et Dictionnaires :
●
Méthodes intégrées pour chaque structure :
●
Listes : append(), remove(), pop(), insert(), sort(), reverse()
●
Tuples : count(), index() (bien qu’ils soient immuables)
●
Dictionnaires : get(), keys(), values(), items(), pop(), update()
●
Structures de Données en Python
[Link] des Listes et Dictionnaires
●
Indexation et Slicing dans les listes
Structures de Données en Python
[Link] des Listes et Dictionnaires
●
Iteration (Liste)
Structures de Données en Python
[Link] des Listes et Dictionnaires
●
Tri et filtrage (Liste)
Structures de Données en Python
[Link] des Listes et Dictionnaires
●
Ajout, modification et suppression ( Dictionnaires)
Structures de Données en Python
[Link] Integrés pour les structures de données
●
Len() : Renvoie le nombre d’élément dans une Liste, tuple ou
dictionnaire
●
Sum() : Calcule la somme des éléments d’une Listes de nombres
●
Map():Applique une fonction à chaque élément d’une liste
●
Filter() : Filtre les elements d’une liste en fonction d’une condition
●
Reduce():Applique une fonction de réduction cumulée sur une liste,
celle la necessite from functools import reduce
Structures de Données en Python
Exercice 7
Une entreprise industrielle suit le stock de ses produits et a besoin d'un script
pour :
●
Enregistrer et stocker les informations de chaque produit sous forme de
dictionnaire : le nom du produit, la quantité en stock, le coût unitaire et le
fournisseur.
●
Afficher la liste des produits dont le stock est inférieur à un seuil défini.
●
Calculer et afficher la valeur totale du stock pour chaque fournisseur.
●
Données de base :
Structures de Données en Python
Exercice 7
Une entreprise industrielle suit le stock de ses produits et a besoin d'un script pour :
●
Enregistrer et stocker les informations de chaque produit sous forme de dictionnaire : le
nom du produit, la quantité en stock, le coût unitaire et le fournisseur.
●
Afficher la liste des produits dont le stock est inférieur à un seuil défini.
● Calculer et afficher la valeur totale du stock pour chaque fournisseur.
[Link]éer un script pour afficher les produits dont le stock est inférieur à seuil_stock.
[Link] et afficher la valeur totale de stock par fournisseur.
[Link] un produit au dictionnaire et afficher la liste mise à jour.
●
Structures de Données en Python
Exercice 8
Dans une usine de production, les machines sont organisées en séries, et chaque
machine est associée à un code unique, une capacité de production quotidienne et un
taux de défaillance moyen. Pour chaque machine, créer un script qui :
●
Enregistre les informations sous forme de tuples avec la structure
(code_machine, capacité, taux_défaillance).
●
Trie la liste des machines par taux de défaillance croissant.
●
Affiche les codes des machines dont la capacité dépasse un seuil spécifié et
qui ont un taux de défaillance inférieur à une valeur donnée.
[Link] les machines par taux de défaillance en utilisant sorted() et afficher
la liste triée.
[Link] et afficher les machines dont la capacité est supérieure à
seuil_capacité et le taux de défaillance inférieur à seuil_défaillance.
[Link] une nouvelle machine et réitérer les filtres.
Gestion et traitement des Fichiers en Python
[Link] et écriture de fichiers
●
La gestion des Fichiers en Python se fait avec la fonction open(), qui
permet d’ouvrir un fichier dans différents modes.
– Mode r : Lecture seule
– Mode w : Écriture seule ( crée un nouveau fichier ou ecrase le fichier
le fichier existant)
– Mode a : Ajout a la fin du fichier
– Mode r+ : Lecture et écriture
Gestion et traitement des Fichiers en Python
[Link] et ecriture de fichiers
●
La gestion des fichiers CSV se fait avec le module csv de la bibliotheque
standard , qui permet de lire et d’ecrire des fichiers CSV ( Comma-
Separated Values) souvent utilisés pour la manipulation des données
tabulaires
– Lecture de CSV : utilise [Link] pour lire ligne par ligne
– Ecriture de CSV : utilise [Link] pour ecrire ligne par ligne
Gestion et traitement des Fichiers en Python
[Link] et écriture de fichiers
●
La gestion des fichiers avec le context Managers with : pour garantir la
fermeture des fichiers correctement même en cas d’erreur, ce qui évite les
fuites de mémoires et les erreurs de fichiers ouverts
[Link] de données
●
Ecriture et Lecture de Fichiers JSON avec le module json, ce format
(JavaScript Object Notation) est couramment utilisé pour structurer et
echanger des données.
– Lire un fichier Json : [Link]()
– Ecriture dans un fichier Json : [Link]()
Gestion et traitement des Fichiers en Python
[Link] de données :
●
La manipulation et la transformation des fichiers CSV
Gestion et traitement des Fichiers en Python
[Link] des données avec Pandas
●
Pandas : est un puissant outil pour la manipulation des données et la gestion
des fichiers CSV avec le nettoyage des données et leur transformation
●
Pandas introduit une structure de données appelée DataFrame qui facilite
les manipulations de données tabulaires
Gestion et traitement des Fichiers en Python
[Link] des données avec Pandas
●
Pandas permet de filtrer , regrouper et transformer facilement les données
●
Pandas permet d’exporter les Dataframes vers différents formats comme
CSV, excel et Json
Maîtrise des modules et bibliothèques
1. Pandas : Manipulation et analyse de données
●
Pandas : bibliothèque Python pour la manipulation et l'analyse de données, basée
sur les structures DataFrame et Series.
●
Series : Tableau 1D similaire à un tableau NumPy.
●
DataFrame : Tableau 2D avec des étiquettes d’index et de colonnes.
●
Fonctionnalités :
– Chargement de données : CSV, Excel, JSON, ..
– Nettoyage : valeurs aberrante, duplication
– Transformation : Tri, regroupement, agrégation
Maîtrise des modules et bibliothèques
1. Pandas : Manipulation et analyse de données
●
Installation : pip install pandas
●
Application : Analyse de données pour la gestion d’une entreprise :
– Creer un fichier CSV : [Link]
ID Nom Service Salaire Date_embauche
0001 Omar RH 4500 01-01-2010
0002 Mona Sales 5000 15-05-2010
0003 Dina IT 8000 10-09-2013
0004 Aladine Sales 4500 13-12-2020
Maîtrise des modules et bibliothèques
1. Pandas : Manipulation et analyse de données
●
Installation : pip install pandas
●
Application : Analyse de données pour la gestion d’une entreprise :
– Creer un fichier CSV : [Link]
ID Date Montant Ville
0001 19-10-2024 1000 Marrakech
0001 02-11-2024 23000 Rabat
0003 11-11-2024 3000 tanger
0004 01-03-2024 4900 Marrakech
Maîtrise des modules et bibliothèques
1. Pandas : Manipulation et analyse de données
●
Installation : pip install pandas matplotlib numpy
●
Application : Analyse de données pour la gestion d’une entreprise :
– Creer un fichier CSV : [Link]
– Creer un fichier CSV : [Link]
– Charger et nettoyer les données
– Fusionner les deux tableaux pour associer les employés à leurs ventes
– Réaliser des analyses statistiques et visualiser les performances des employés
par ville
Maîtrise des modules et bibliothèques
1. Pandas : Manipulation et analyse de données
Un établissement souhaite analyser les données de ses étudiants pour extraire des informations utiles comme
la moyenne des notes, le taux de réussite, et les étudiants en difficulté.
Charger et afficher les données sous forme de DataFrame. Calculer des statistiques sur les notes. Identifier les
étudiants en échec (note < 10). Calculer la moyenne des notes par filière. Trouver l’étudiant ayant obtenu la
meilleure note.
Les données sont sous la forme d'une liste de dictionnaires Python.
etudiants = [
{"Nom": "Alice", "Age": 20, "Note": 15, "Filière": "Informatique"},
{"Nom": "Bob", "Age": 22, "Note": 9, "Filière": "Mathématiques"},
{"Nom": "Charlie", "Age": 21, "Note": 12, "Filière": "Informatique"},
{"Nom": "Diana", "Age": 23, "Note": 18, "Filière": "Physique"},
{"Nom": "Eva", "Age": 20, "Note": 8, "Filière": "Mathématiques"},
]
Maîtrise des modules et bibliothèques
2. Matplotlib : Visualisations de données
●
Matplotlib est une bibliothèque python utilisée pour créer des visualisation de
données 2D et 3D.
●
Caractéristiques fonctionnelles :
– Generation de graphiques simples : lignes, barres, histogrammes
– Prise en charge des graphiques complexes : Tridimensionnels, contours,…
– Integration avec d’autre bibliotheques comme Pandas, Numpy
– Export des graphiques dans plusieurs formats : PNG,PDF,SVG
Maîtrise des modules et bibliothèques
2. Matplotlib : Visualisations de données
●
Installation : pip install matplotlib
●
Application : Tracer une courbe
Maîtrise des modules et bibliothèques
2. Matplotlib : Visualisations de données
●
Installation : pip install matplotlib
●
Application : Tracer une courbe
●
Types de graphiques courants :
– Ligne : [Link]()
– Barres : [Link]()
– Histogramme : [Link]()
– Nuage de points : [Link]()
Maîtrise des modules et bibliothèques
2. Matplotlib : Visualisations de données
●
Personnaliser les graphiques :
– Limites des axes
Les annotations
Maîtrise des modules et bibliothèques
2. Matplotlib : Visualisations de données
●
Personnaliser les graphiques :
– Plusieurs graphiques dans une figure
Maîtrise des modules et bibliothèques
2. Matplotlib : Visualisations de données
●
Utilités et usages :
– Analyse de séries temporelles : suivi de la consommation d’énergie ou de
température
– Analyse statistique : histogrammes pour la répartition des données
– Modélisation mathématique : Visualisation des modèles et des équations
– Analyse comparative : Graphiques en barres pour comparer les performances
de systèmes
Maîtrise des modules et bibliothèques
2. Matplotlib : Visualisations de données
●
Application
– Generer une série de nombres aléatoire entre 0 et 100 ( 50 points)
– Tracer un histogramme pour visualiser la distribution
– Calculer la moyenne et l’écart-type puis ajouter les en annotations
Maîtrise des modules et bibliothèques
3. Numpy : Calcul scientifique
●
NumPy ( Numerical Python) est une bibliothèque Python essentielle pour le calcul
scientifique, la manipulation de tableaux ( array) et les opérations mathématiques
complexes.
●
Caracteristiques :
– Gestion de tableaux multi-dimensionnels (ndarray)
– Large gamme de fonctions mathématiques et statistiques
– Optimisation pour le calcul rapide grâce à des implémentations basées sur le
langage C
– Intégration avec d’autre bibliotheques : matplotlib, pandas ...
Maîtrise des modules et bibliothèques
3. Numpy : Calcul scientifique
●
Installation : pip install numpy
●
Application : Création et manipulation de tableaux
Maîtrise des modules et bibliothèques
3. Numpy : Calcul scientifique
●
Installation : pip install numpy
●
Application : Création et manipulation de tableaux
– Propriétés principales
●
Shape : dimensions
du tableau
●
Dtype : Type des
données
Maîtrise des modules et bibliothèques
3. Numpy : Calcul scientifique
●
Installation : pip install numpy
●
Application : Création et manipulation de tableaux
– Propriétés principales :
●
Indexation et slicing : permet d’acceder aux elements ou de selectionner
des sous-ensembles
Maîtrise des modules et bibliothèques
3. Numpy : Calcul scientifique
●
Installation : pip install numpy
●
Application : Création et manipulation de tableaux
– Propriétés principales :
●
Operations mathématiques : Numpy offre des fonctions optimisées pour
les operations mathématique
Maîtrise des modules et bibliothèques
3. Numpy : Calcul scientifique
●
Installation : pip install numpy
●
Utilisation et contexte :
– Simulation numérique
– Analyse de données
– Traitement d’image
– Apprentissage automatique
Maîtrise des modules et bibliothèques
3. Numpy : Calcul scientifique
●
Exercice : Résolution d’un systeme Lineaire
– Resolution du systeme :
3x+2y=5
x+2y=7
Maîtrise des modules et bibliothèques
3. Numpy : Calcul scientifique
●
Creez un tableau 2D aléatoire de dimensions (5,5)
●
Calculer la somme de chaque colonne
●
Normalise les données de la matrice( valeurs entre 0et1)
Maîtrise des modules et bibliothèques
4. OpenCv : Traitement d’image
●
Open Sorce Computer Vision : une bibliotheque open-source tres populaire pour
le traitement d’images et la vision par ordinateurs
– Traitement d’images : Filtrage, Transformation, Detection d’objets …
– La reconnaissance faciale / la reconnaissance d’objets
– La manipulation vidéo
●
Installation :
●
Pip install opencv-python
Maîtrise des modules et bibliothèques
4. OpenCv : Traitement d’image
●
Une image ?
– Une image est une grille régulière de valeurs ( pixels)
– Generalement composée de 1,3 ou4 canaux
Maîtrise des modules et bibliothèques
4. OpenCv : Traitement d’image
●
Filtrage des images
Maîtrise des modules et bibliothèques
4. OpenCv : Traitement d’image
●
Filtrage des images
Maîtrise des modules et bibliothèques
4. OpenCv : Traitement d’image
●
Reconnaissance des formes
Maîtrise des modules et bibliothèques
4. OpenCv : Traitement d’image
●
Reconnaissance des formes :
●
Algorithme de Canny
Maîtrise des modules et bibliothèques
4. OpenCv : Traitement d’image
●
Segmentation des images