Académique Documents
Professionnel Documents
Culture Documents
Plan
1 Généralités
• Pourquoi Python ?
• Caractéristiques du langage
• Installation
2 Bases de Python
• Les variables
• Les types de données
• Les chaı̂nes de caractères
• Les listes
• Les tuples
• Tables de hash
• Les dictionnaires
3 Data Science
• Numpy
⁄125
1
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Introduction
Définition
❒ Développé en 1991 par Guido van Rossum, il est actuellement le langage de
programmation le plus populaire dans le monde.
❒ Le nom Python vient d’un hommage à la série télévisée Monty Python’s Flying Circus
dont G.van Rossum est fan.
⁄125
2
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Pourquoi Python ?
⁄125
3
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Langage compilé
Contrairement à C et C++ et java qui sont des langage compilé (c’est-à-dire
que nous voulons compiler le programme pour le convertir en langage
machine ) puis exécuter le programme pour qu’il affiche le résultat.
⁄125
4
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Langage interprété
Le langage Python est un langage interprété c’est à-dire que le programme
écrit avec ce langage est exécuté directement sans passé par la compilation.
⁄125
5
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Langage de programmation
Le code source est converti en code binaire lors d’une étape séparée. Deux
fichiers sont par conséquent utilisés : le fichier avec le code source, dans
lequel le programmeur travaille et un fichier binaire créé à partir du premier
qui est exécutable directement sur l’ordinateur. Un programme spécial
appelé compilateur joue le rôle de traducteur entre les fichiers. La
conversion du code source en code binaire est appelée ≪ compilation ≫.
Langage de script
Tout les langages de script sont des langages de programmation. Les
langages de script ne nécessitent pas l’étape de compilation et sont plutôt
interprétés. Aucune compilation n’est effectuée. Par conséquent, aucun
fichier binaire n’est généré à partir du code source écrit par le programmeur.
⁄125
6
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Compilateur vs Interpreteur
Compilateur
Convertit l’ensemble du programme en code d’assembleur, puis convertit le
code d’assembleur en code machine.
Interpréteur
Convertit et exécute le programme ligne par ligne.
⁄125
7
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Caractéristiques
❒ Open-Source
❒ Multiplateforme
❒ Multiparadigme
❒ Langage de haut niveau
❒ Langage interprété (Programme est executé directement sans passé par la compilation)
❒ Orienté objet
❒ Typage dynamique (Pas besoin de déclarer le type de variable)
8⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
C/C++
❒ Langage compilé
❒ Typage statique & Nécessite la déclaration du type de variable
❒ Nous avons besoin d’une ” ;” à la fin de chaque ligne
❒ Il n’est pas nécessaire de respecter l’indentation
Python
❒ Langage interprété
❒ Typage dynamique & Il n’est pas nécessaire de déclarer le type de la variable
❒ Une fonction peut accepter un argument de tout type et renvoyer une valeur de tout
type, sans déclaration préalable
❒ Il n’existe pas de ” ;” à la fin d’une ligne
❒ Sensible à l’indentation
⁄125
9
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Applications
❒ Interface Web
❒ Science de données (Machine Learning / Deep Learning)
❒ Cyber-sécurité
10 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Installation de Python
Installation
❒ Sur Linux et Mac-OS : Python est déjà installé
❒ Sur Windows : https ://www.python.org/downloads/
Interpréteur
❒ Sur Linux : Lancer le terminal et taper la commande python
❒ Sur Windows : Powershell Python
Editeur de texte
❒ Notepad++
❒ Visual Studio Code
❒ Sublime Text
11 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Installation de Python
12 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Installation de Python
Anaconda
Anaconda est une distribution libre et open source des langages de programmation
Python et R. Il offre une installation aisée de l’ensemble de l’environnement de
développement nécessaire au développement d’applications dédiées à la science des
données et à l’apprentissage automatique. Il contient le gestionnaire de paquets
”conda” permettant l’installation des modules supplémentaires.
Miniconda est une version light de l’outil Anaconda.
Il installera :
❒ Python
❒ Librairies data science : Pandas, Numpy, Scipy, Matplotlib
❒ Le notebook Jupyter : Editeur Python nous permettons d’éditer nos codes d’une
manière interactive dans un navigateur internet.
13 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Les variables
14 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Les variables
15 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Les variables
Types de données
16 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
U
ne chaı̂ne de caractères est un objet immuable (que nous ne pouvons pas
modifier). Les méthodes liées aux chaı̂nes de caractères retourne donc un
nouvel objet.
Découpage : Split
La méthode ”split” permet de découper une chaı̂ne selon un séparateur pour
obtenir une liste.
17 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Assemblage : Join
La méthode ”join” est l’inverse de la méthode ”split”. Elle permet de
reconstruire une chaı̂ne à partir d’une liste.
Remplacement : replace
La méthode ”replace” permet de remplacer une sous-chaı̂ne par une autre,
avec une possibilité de limiter le nombre de remplacements.
18 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Remplacement : replace
Il est possible de limiter le nombre de remplacement en le spécifiant, comme
le montre la figure ci-dessous :
19 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Limite : Split
Si le séparateur est au début ou à la fin, la liste contiendra alors une chaı̂ne
vide.
20 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Limite : Split
Si le séparateur est au début ou à la fin, la liste contiendra alors une chaı̂ne
vide.
20 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Nettoyage : strip
Afin d’éviter le problème du dernier (ou premier) élément vide, nous
pouvons appliquer ”strip” avant ”split”.
21 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
22 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
23 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
24 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
25 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
25 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Solution : startswith
La méthode ’startswith’ permet de vérifier si une chaı̂ne de caractères
commence par une sous-chaı̂ne. Elle retourne un type booléen.
25 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
26 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
26 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Solution : endswith
La méthode ’endswith’ permet de vérifier si une chaı̂ne de caractères se
termine par une sous-chaı̂ne. Elle retourne un type booléen.
26 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Changement de casse
Quelques méthodes utiles pour le changement de casse.
27 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Mécanismes de formatage
Mécanisme de formatage qui permet de formatter une chaı̂ne de caractères
en fonction de certaines variables. Il existe trois mécanismes de formatage :
”f-string”, ”format” et ”%”.
f-string
Le mécanisme de formatage ”f-string” peut être utilisé à partir de la version
3.6 de Python. La logique d’un ”f-string”, c’est tout simplement de
considérer l’intérieur d’un comme du code Python, de l’évaluer, et d’utiliser
le résultat pour remplir le . Nous pouvons faire également des calculs à
l’intérieur des .
28 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Input
La fonction ”input” est utile lorsque nous voulons obtenir une réponse de
l’utilisateur.
29 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
30 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Les listes
Sous python, on peut définir une liste comme une collection d’éléments
séparés par des virgules, l’ensemble étant enfermé dans des crochets.
⁄125
31
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Append
Une méthode est une fonction qui agit sur l’objet auquel elle est attachée par un
point. La méthode append permet d’ajouter un élément à la fin d’une liste
32 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Append
Une méthode est une fonction qui agit sur l’objet auquel elle est attachée par un
point. La méthode append permet d’ajouter un élément à la fin d’une liste
Extend
La méthode extend réalise la même opération, mais avec tous les éléments de la
liste qu’on lui passe en argument.
32 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
⁄125
33
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
⁄125
33
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
⁄125
33
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Addition
Comme on le voit, après une addition, les deux termes de l’addition sont
inchangés.
34 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Extend
Alors qu’avec la méthode Extend, nous obtenons ceci :
35 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Extend
Alors qu’avec la méthode Extend, nous obtenons ceci :
Conclusion
Nous pouvons conclure de cet exemple que la liste est un objet mutable : extend
modifie l’objet sur lequel on l’appelle (ici e1). Il est inutile pour extend de renvoyer
quoi que ce soit, et c’est pourquoi e3 ici vaut None.
35⁄
125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Insert
La méthode insert permet, comme le nom le suggère, d’insérer un élément à
une certaine position. Syntaxe : L.insert(index, object).
36 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Insert vs slice
Un résultat similaire de la méthode ”insert” peut être obtenu avec une affectation
slice.
Remove
La méthode remove détruit la première occurrence d’un objet dans la liste.
Syntaxe : L.remove(value).
37 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Pop
La méthode pop prend en argument un indice ; elle permet d’extraire
l’élément à cet indice. En un seul appel on obtient la valeur de l’élément et
on l’enlève de la liste. Syntaxe : L.pop([index])–¿ item
⁄125
38
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Reverse
La méthode reverse renverse la liste, le premier élément devient le dernier :
Syntaxe : L.reverse() –> None
39 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Sort
La méthode Sort permet de trier une liste : Syntaxe : L.sort(key=None,
reverse=False) –> None.
40 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
41 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
42 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Il est possible de définir soi-même le critère à utiliser pour trier une liste, et
nous verrons cela bientôt, une fois que nous aurons introduit la notion de
fonction.
42 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Sort vs Sorted
La fonction ”Sorted” permet de faire le tri sur une copie de votre liste.
Contrairement à la méthode ”sort”, la fonction ”sorted” retourne un nouvel
objet.
⁄125
43
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
⁄125
44
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
⁄125
45
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Tests if et syntaxe
Tests if-else
Les tests permettent de faire de l’exécution conditionnelle, c-à-d un morceau de
code va s’exécuter en fonction du fait qu’un test soit vrai ou qu’un test soit faux. Le
code ci-dessous représente un test if-else en Python (à gauche) et en Java (à droite).
⁄125
46
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Tests if et syntaxe
Blocs d’instruction
Un bloc d’instructions est un ensemble d’instructions qui sont tous indenté du
même nombre de caractères vers la droite (4 caractères vers la droite). Si le test ”if”
est vrai, les instructions qui sont dans le bloc vont être exécutées, alors que si le test
est faux on passera à la clause ”else”.
⁄125
47
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Syntaxe
Indentations en Python
Toutes les instructions dans un même bloc soient présentées avec le même niveau
d’indentation. Si deux lignes successives - modulo les blocs imbriqués - ont la
même indentation, elles sont dans le même bloc.
Instruction ’Pass’
Comme en Python on n’a pas d’accolade pour délimiter les blocs de code, il existe
une instruction pass, qui ne fait rien. À l’aide de cette instruction on peut à présent
définir une fonction ou une boucle vide comme ceci :
48 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Factorisation du code
Factorisation du code
Permet d’éviter de réecrire plusieurs fois un code qui fait la même chose.
49 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Factorisation du code
Factorisation du code
Permet d’éviter de réecrire plusieurs fois un code qui fait la même chose.
Boucle For
Permet d’automatiser une tâche qui se répète. Nous pouvons mettre dans une
boucle for n’importe quel séquence (ex : calcul carré).
49 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Factorisation du code
Factorisation du code
Permet d’éviter de réecrire plusieurs fois un code qui fait la même chose.
Boucle For
Permet d’automatiser une tâche qui se répète. Nous pouvons mettre dans une
boucle for n’importe quel séquence (ex : calcul carré).
Fonction
Une manière de factoriser le code d’une boucle for qui se répète (ex : carré
d’une liste) est de créer une fonction. Une fonction est un morceau de code
que nous pouvons rappeler n’importe quand.
49 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Compréhension de listes
Compréhension de listes
La liste est un objet extrêmement flexible qui peut référencé n’importe quel type
d’objet. Une manière simple de parcourir une liste est d’implémenter une boucle for,
ainsi on peut appliquer une opération à chaque élément de notre liste.
⁄125
50
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Compréhension de listes
Compréhension de listes
La liste est un objet extrêmement flexible qui peut référencé n’importe quel type
d’objet. Une manière simple de parcourir une liste est d’implémenter une boucle for,
ainsi on peut appliquer une opération à chaque élément de notre liste.
⁄125
50
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Compréhension de listes
La liste est un objet extrêmement flexible qui peut référencé n’importe quel type
d’objet. Une manière simple de parcourir une liste est d’implémenter une boucle for,
ainsi on peut appliquer une opération à chaque élément de notre liste.
Elle permet d’appliquer une opération à chaque élément d’une liste et d’ajouter une
condition de filtre.
⁄125
51
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Quiz
Les listes
liste = [0, 1, 2, 3] On veut modifier l’objet liste pour que sa valeur devienne
[0, 1, 4, 2, 3] Que faut-il faire ? (plusieurs réponses possibles)
❒ liste[2] = 4
❒ liste[2] = [4]
❒ liste.insert(2,4)
❒ liste[2 :3] = [4]
❒ liste[2 :2] = [4]
⁄125
52
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Quiz - Correction
Les listes
liste = [0, 1, 2, 3] On veut modifier l’objet liste pour que sa valeur devienne
[0, 1, 4, 2, 3] Que faut-il faire ? (plusieurs réponses possibles)
❒ liste[2] = 4
❒ liste[2] = [4]
❒ liste.insert(2,4) (correct)
❒ liste[2 :3] = [4]
❒ liste[2 :2] = [4] (correct)
⁄125
53
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Quiz
Les listes
liste = [0, 1, 2, 3] On souhaite extraire et retourner le premier élément 0, tout
en la retirant de la liste.
Plus précisément on veut affecter à la variable suivant la valeur 0 de telle
sorte qu’après l’exécution, liste ne contienne plus que [1, 2, 3]
Que faut-il faire ? (plusieurs réponses possibles)
❒ suivant = liste[0]
❒ suivant = liste.pop(0)
❒ del liste[0]
❒ suivant = liste[0] ; del liste[0]
❒ suivant = del liste[0]
⁄125
54
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Quiz - Correction
Les listes
liste = [0, 1, 2, 3] On souhaite extraire et retourner le premier élément 0, tout
en la retirant de la liste.
Plus précisément on veut affecter à la variable suivant la valeur 0 de telle
sorte qu’après l’exécution, liste ne contienne plus que [1, 2, 3]
Que faut-il faire ? (plusieurs réponses possibles)
❒ suivant = liste[0]
❒ suivant = liste.pop(0) (correct)
❒ del liste[0]
❒ suivant = liste[0] ; del liste[0] (correct)
❒ suivant = del liste[0]
⁄125
55
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Quiz
Les listes
liste = [1, 0, 3, 2] On veut trier la liste en ordre décroissant et en place,
c’est-à-dire sans dupliquer la liste ni ses éléments.
Faut-il faire : (plusieurs réponses possibles)
❒ liste.sort(reverse=True)
❒ liste.sort()
❒ sorted(liste, reverse=True)
❒ liste.sort() ; liste.reverse()
⁄125
56
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Quiz - Correction
Les listes
liste = [1, 0, 3, 2] On veut trier la liste en ordre décroissant et en place,
c’est-à-dire sans dupliquer la liste ni ses éléments.
Faut-il faire : (plusieurs réponses possibles)
❒ liste.sort(reverse=True) (correct)
❒ liste.sort()
❒ sorted(liste, reverse=True)
❒ liste.sort() ; liste.reverse() (correct)
⁄125
57
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Quiz
Compréhension de listes
entree = [1, 2, 3, 4, 5, 6, 7, 8, 9] Parmi les fragments suivants, lesquels sont
valides en python ?
❒ carres = [for x in entree : x**2]
❒ carres = [x**2 for x in entree]
❒ carres = [for x in entree : if x % 3 == 0 : x**2]
❒ carres = [x**2 for x in entree : if x % 3 == 0]
❒ carres = [x**2 for x in entree if x % 3 == 0]
⁄125
58
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Quiz - Correction
Compréhension de listes
entree = [1, 2, 3, 4, 5, 6, 7, 8, 9] Parmi les fragments suivants, lesquels sont
valides en python ?
❒ carres = [for x in entree : x**2]
❒ carres = [x**2 for x in entree] (Correct)
❒ carres = [for x in entree : if x % 3 == 0 : x**2]
❒ carres = [x**2 for x in entree : if x % 3 == 0]
❒ carres = [x**2 for x in entree if x % 3 == 0] (Correct)
⁄125
59
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Type complex
Python possède par défaut un type pour manipuler les nombres complexes.
La partie imaginaire est indiquée grâce à la lettre ≪ j ≫ ou ≪ J ≫. La lettre
mathématique utilisée habituellement, le ≪ i ≫, n’est pas utilisée en Python
car la variable i est souvent utilisée dans les boucles.
⁄125
60
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Les tuples
A partir des types de base (int, float, etc.), il est possible d’en élaborer de
nouveaux. On les appelle des types construits.
Un exemple de type construit est le tuple. Il permet de créer une collection
ordonnée de plusieurs éléments.
Les tuples ressemblent aux listes, mais on ne peut pas les modifier une fois
qu’ils ont été créés.
Le tuple est un objet immuable, une fois créer on ne peut plus le modifier.
⁄125
61
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Les tuples
62 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Les tuples
62 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Les tuples
62 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Les tuples
Opérations
Le tuple est un objet de type séquence, il peut donc avoir les différentes
types d’opérations d’une séquence.
⁄125
63
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Les tuples
Opérations - Addition
Bien que le type tuple soit immuable, il est tout à fait légal d’additionner
deux tuples, et l’addition va produire un nouveau tuple.
⁄125
64
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Les tuples
⁄125
65
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
⁄125
66
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Les tuples
Sequence Unpacking
Permet d’affecter les valeurs d’une séquence à des variables distinctes. Le nombre
de variables doit être le même que nombre d’éléments de la séquence.
Extended Unpacking
Extension de sequence unpacking ; Python vous autorise à mentionner une seule
fois, parmi les variables qui apparaissent à gauche de l’affectation, une variable
précédée de *.
67 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Limitations des types séquence : Indicé les séquences par des chaines de
caractères
Supposons que nous avons une liste comprenant l’âge des individus et que
nous voulons indicé nos séquences par des chaines de caractères pour lié un
nom à un âge.
⁄125
68
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Solution
Tables de hash
Une table de hash est constituée essentiellement d’un tableau de n éléments
et d’une fonction de hash. Cette fonction permet d’avoir en entrée un objet et
de calculer une valeur comprise entre 1 et n.
⁄125
69
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Les dictionnaires
Définition
Un dictionnaire en python permet de rassembler des éléments identifiés par
une clé et possédant une valeur associée. Pour créer un dictionnaire en
utilise des accolades.
70 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Les dictionnaires
Mutable vs Immuable
La valeur d’un dictionnaire est mutable (elle peut être modifié) par contre la
clé est immuable.
⁄125
71
Les dictionnaires
⁄125
72
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Les dictionnaires
73 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Les dictionnaires
Question ?
Peut-on effectuer le test d’appartenance en effectuant la recherche par la
valeur au lieu de la clé ?
74 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Les dictionnaires
Question ?
Peut-on effectuer le test d’appartenance en effectuant la recherche par la
valeur au lieu de la clé ?
74 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Les dictionnaires
Question ?
Peut-on effectuer le test d’appartenance en effectuant la recherche par la
valeur au lieu de la clé ?
Réponse
Oui c’est possible. Mais seulement si le dictionnaire est parcouru par les
valeurs. Dans l’exemple ci-dessus le dictionnaire est parcouru sans
spécification.
74 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Les dictionnaires
75 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Les dictionnaires
Parcourir un dictionnaire :
❒ Le dictionnaire est parcouru par la clé en utilisant la notion : ”dict.keys()”
❒ Le dictionnaire est parcouru par la valeur en utilisant la notion : ”dict.values()”
❒ Le dictionnaire est parcouru par le couple ”clé :valeur” en utilisant la notion :
”dict.items()”
75 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Les dictionnaires
Parcourir un dictionnaire
Test d’appartenance sur la clé, la valeur et le couple ”clé :valeur”.
⁄125
76
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Les dictionnaires
Parcourir un dictionnaire
Parcourir un dictionnaire en entier dans une boucle for.
⁄125
77
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Parcourir un dictionnaire
Une itération sur un dictionnaire est une itération directement sur les clés.
⁄125
78
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Quiz
Les tuples
triple = (1, 2, 3,) Parmi les expressions et instructions ci-dessous, lesquelles
sont valides ?
❒ triple[0]
❒ triple[ :]
❒ triple[len(triple)]
❒ triple[0] = 0
⁄125
79
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Quiz
Les tuples
Quelles sont les expressions qui renvoient True ?
❒ [([(1)])] == [[1]]
❒ (1,) == (1)
⁄125
80
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Les tuples
quadruple = (1, [2, 3], True, [ (4,) ] ) Quelles sont parmi les affectations
suivantes celles qui sont valables, et qui affectent 4 à four ?
❒ ( one, (two, three), ignored, ( ( four ) ) ) = quadruple
❒ (one, (two, three, ),, ((four, ), )) = quadruple
❒ (one, (two, three),, [[four]]) = quadruple
⁄125
81
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Quiz
Les tuples
On cherche à écrire un code qui permette d’intervertir les deux derniers
éléments dans une liste. On suppose que la liste en entrée a au moins deux
éléments. Quelles sont parmi les variantes suivantes celles qui font bien ce
qu’on veut ?
❒ tmp = liste[-1] ; liste[-1] = liste [-2] ; liste[-2] = tmp
❒ liste.reverse(-2, -1)
❒ liste[-2], liste[-1] = liste[-1], liste[-2]
⁄125
82
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Quiz
Les dictionnaires
Le type dictionnaire est un type :
❒ immuable
❒ mutable
⁄125
83
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Quiz
Les dictionnaires
Est-il exact de dire que la recherche d’une clé dans un dictionnaire prend le
même temps que la recherche d’un élément dans une liste (de même
longueur) :
❒ Oui
❒ Non
⁄125
84
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Quiz
Les dictionnaires
Parmi les objets suivants, quels sont ceux qui peuvent être utilisés comme
une clé dans un dictionnaire :
❒ 1
❒ [1, 2]
❒ (1, 2)
❒ ([1, 2], [3, 4])
⁄125
85
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Quiz
Les dictionnaires
Pour modifier la valeur de la clé ’marc’ dont on sait qu’elle est présente dans
le dictionnaire annuaire, on peut faire :
❒ annuaire[’marc’] = 50
❒ annuaire.get(’marc’, 50)
❒ annuaire.setdefault(’marc’, 50)
⁄125
86
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Numpy
Numpy
”Numerical Python (Numpy)” fournit une interface pour stocker et effectuer
des opérations sur les données.
De plus, NumPy offre de meilleures performances en termes de vitesse
d’exécution. Son utilisation est néanmoins plus simple et plus pratique.
87 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Numpy : ndarray
Un tableau Numpy est un tableau qui est stocké dans une zone de mémoire
contiguë, et qui ne contient que des éléments du même type.
❒ Tableau multidimensionnels (Peut avoir plusieurs dimensions)
❒ Eléments homogènes (Un seul type d’objet)
❒ Accepte les opérations mathématiques
les tableaux Numpy sont comme les listes en Python, mais Numpy permet
de rendre les opérations beaucoup plus efficaces, surtout sur les tableaux de
large taille. Les tableaux Numpy sont au cœur de presque tout l’écosystème
de data science en Python.
⁄125
88
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Numpy
Numpy : ndarray
Les tableaux Numpy peuvent être créer de différentes façons :
⁄125
89
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Numpy
Numpy : ndarray
Les tableaux Numpy peuvent être créer de différentes façons :
⁄125
89
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Numpy
90 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Numpy
Question ?
Que se passera-t-il si l’entrée d’un tableau contient des éléments de
différents types ?
90 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Numpy
Question ?
Que se passera-t-il si l’entrée d’un tableau contient des éléments de
différents types ?
Réponse
Numpy essaiera de les convertir toutes au type le plus général. Par exemple,
les entiers (int) seront convertis en nombres à virgule flottante (float) :
90 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Numpy
91 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Numpy
Tableau multidimensionnel
Contrairement aux listes Python, les tableaux Numpy peuvent être explicitement
multi-dimensionnels. Une liste de listes est transformée en un tableau
multi-dimensionnel (Matrice) :
91 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Numpy
⁄125
92
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Numpy
⁄125
93
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Numpy
⁄125
94
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Numpy
Règles générales
❒ Le début peut être omis si on veut commencer au début de la liste (c’est à dire si début
= 0).
❒ La fin peut être omise si on veut aller jusqu’au bout de la liste (c’est à dire fin = -1 ou
fin = len(liste) ).
❒ Le pas, ainsi que le dernier :, peuvent être omis si le pas est de 1.
95 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Numpy
96 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Numpy
97 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Numpy
Multi-dimensionnel
Les tableaux en dimensions supérieures à 2, peuvent être construite en
utilisant l’attribut ”shape” ou ”size. En dimensions supérieures la forme est
toujours : n1 x n2 x ... x lignes x colonnes.
98 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Numpy
Reshape
La fonction reshape permet de changer la dimension d’un tableau numpy en
gardant toujours la même taille.
⁄125
99
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Numpy
Opérations
Mars
100 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Numpy
Broadcasting
Le broadcasting désigne un ensemble de règles pour appliquer une opération
qui normalement ne s’applique que sur une seule valeur à l’ensemble des
membres d’un tableau Numpy. Dans l’exemple suivant l’entier 5 a été
propagé (broadcast) sur chaque élément du tableau a. Le broadcast d’une
manière générale s’applique a des tableaux de n dimensions.
101 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Numpy
Broadcasting
Le broadcast d’une manière générale s’applique a des tableaux de n
dimensions. Pour les tableaux de même taille, les opérations comme
l’addition s’appliquent normalement élément par élément. Pour les tableaux
de dimensions différentes, les dimensions doivent soit être égales soit l’une
des deux doit égale à 1, pour que l’opération du broadcasting soit défini.
102 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Pandas
Series
Un objet de type Series est un tableau à une dimension avec un index, par
conséquent, une Series a une certaine similarité avec un dictionnaire, et peut
d’ailleurs être directement construite à partir de ce dictionnaire.
103 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Pandas
Series
De la même manière qu’un dictionnaire, l’index d’une series peut être
également une chaine de caractères.
104 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Pandas
Series
Une series peut-être créer directement à partir d’un dictionnaire, où les clés
du dictionnaire, deviennent l’index du series.
105 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Pandas
Series
Nous pouvons également choisir les éléments du dictionnaire à intégrer dans
une series, en spécifiant les clés du dictionnaire.
106 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Pandas
DataFrame
Une DataFrame est un tableau à deux dimensions avec un index pour les
lignes et un index pour les colonnes. Il y a de nombreuses manières de
construire une DataFrame.
❒ A partir d’un dictionnaire
❒ A partir d’une series
107 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Pandas
DataFrame
Pour accéder à un élément d’un DataFrame, en utilise ”.loc[]”, Comme il
s’agit d’une structure à deux dimensions, il faut donner un indice de ligne et
de colonne :
108 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Pandas
109 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Pandas
110 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Pandas
111 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Pandas
112 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Pandas
113 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Pandas
114 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Pandas
115 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Pandas
116 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Pandas
117 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Pandas
118 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Pandas
119 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Pandas
120 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Pandas
121 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Pandas
122 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Pandas
123 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Pandas
124 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science
Pandas
Correlation
Pandas permet de faire la correlation entre les données afin d’étudier la liaison entre
les différentes colonnes. La valeur de la correlation varie entre -1 et 1. Une valeur
positive signifie que si la valeur d’une colonne augmente, la valeur de la deuxième
augmente aussi. Alors qu’une valeur négative signifie que si la valeur d’une colonne
augmente, la valeur de l’autre diminue. Une valeur qui s’approche de 1 ou de -1
signifie que la relation entre les deux colonnes est forte.
125 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022