Vous êtes sur la page 1sur 149

Python

Dr. Safaâ DAFRALLAH

Année Universitaire 2021-2022


Plan Généralités Bases de Python Data Science

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 ?

Top 10 du classement général des Top 10 des langages les plus


langages en 2021 demandés par les employeurs

⁄125
3
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Langage interprété vs Langage compilé

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é vs Langage compilé

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 vs Langage de script

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

Cararctéristiques du langage Python

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

Différences clé entre Python et C/C++

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

Environnement de développement Intégré (IDE)


Environnement de développement Intégré est un environnement de programmation
complet qui se présente sous la forme d’une application, il regroupe un éditeur de
texte, un compilateur et interpréteur.
❒ IDLE
❒ Pycharm
❒ Spyder
❒ Wing IDE
❒ Jupyter

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

Déclaration d’une variable


Python a un typage dynamique. Le type de la variable est déduit ”à la volée”
lors de l’exécution du code.

14 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Les variables

Déclaration d’une variable


Il est possible d’attribuer à une seule variable plusieurs types.

15 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Les variables

Déclaration d’une variable


Il est possible d’attribuer à une seule variable plusieurs types.

Nomenclatures des variables


Pour la nomenclature des variables, il est recommandé que :
❒ De commencer par une lettre.
❒ Eviter d’utiliser les mots qui ont une signification particulière (int, list, ...)
15 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Types de données

16 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Les chaı̂nes de caractères : Méthodes

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

Les chaı̂nes de caractères : Méthodes

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

Les chaı̂nes de caractères : Méthodes

Remplacement : replace
Il est possible de limiter le nombre de remplacement en le spécifiant, comme
le montre la figure ci-dessous :

Plusieurs appels à replace peuvent être chaı̂nés comme ceci :

19 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Les chaı̂nes de caractères : Méthodes

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

Les chaı̂nes de caractères : Méthodes

Limite : Split
Si le séparateur est au début ou à la fin, la liste contiendra alors une chaı̂ne
vide.

Solution (Nettoyage : Strip)


La méthode ”strip” est une méthode de nettoyage qui ne s’occupe que du
début et de la fin de la chaı̂ne, et gère aussi les tabulations et autres retour à
la ligne.

20 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Les chaı̂nes de caractères : Méthodes

Nettoyage : strip
Afin d’éviter le problème du dernier (ou premier) élément vide, nous
pouvons appliquer ”strip” avant ”split”.

Rechercher une sous-chaı̂ne : Find


Plusieurs outils permettent de chercher une sous-chaı̂ne. Il existe ”find” qui
renvoie le plus petit index où on trouve la sous-chaı̂ne.

21 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Les chaı̂nes de caractères : Méthodes

Rechercher une sous-chaı̂ne : find


Si la sous-chaı̂ne n’est pas présente, la méthode ’find’ retourne -1.

Rechercher une sous-chaı̂ne : rfind


La méthode ’rfind’ fonctionne comme ’find’ mais en partant de la fin de la
chaı̂ne.

22 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Les chaı̂nes de caractères : Méthodes

Rechercher une sous-chaı̂ne : index


La méthode ’index’ se comporte comme find, mais en cas d’absence elle
lève une exception plutôt que de renvoyer -1.

23 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Les chaı̂nes de caractères : Méthodes

Rechercher une sous-chaı̂ne : in


L’instruction ’in’ permet de manière très simple de chercher si une sous-chaı̂ne est
dans une autre chaı̂ne, mais sans retourner l’index de la sous-chaı̂ne. (L’instruction
’in’ peut-être utilisée également pour tout type d’objets)

Rechercher une sous-chaı̂ne : count


La méthode ’count’ permet de calculer le nombre d’occurences d’une sous-chaı̂ne.

24 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Les chaı̂nes de caractères : Méthodes

Rechercher une sous-chaı̂ne : Question ?


Comment peut-on vérifier si une chaı̂ne de caractères commence par une
sous-chaı̂ne ?

25 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Les chaı̂nes de caractères : Méthodes

Rechercher une sous-chaı̂ne : Question ?


Comment peut-on vérifier si une chaı̂ne de caractères commence par une
sous-chaı̂ne ?

25 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Les chaı̂nes de caractères : Méthodes

Rechercher une sous-chaı̂ne : Question ?


Comment peut-on vérifier si une chaı̂ne de caractères commence par une
sous-chaı̂ne ?

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

Rechercher une sous-chaı̂ne : Question ?


Comment peut-on vérifier si une chaı̂ne de caractères se termine par une
sous-chaı̂ne ?

26 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Rechercher une sous-chaı̂ne : Question ?


Comment peut-on vérifier si une chaı̂ne de caractères se termine par une
sous-chaı̂ne ?

26 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Rechercher une sous-chaı̂ne : Question ?


Comment peut-on vérifier si une chaı̂ne de caractères se termine par une
sous-chaı̂ne ?

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

Les chaı̂nes de caractères : Méthodes

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

Les chaı̂nes de caractères : Méthodes

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

Les chaı̂nes de caractères : Méthodes

Input
La fonction ”input” est utile lorsque nous voulons obtenir une réponse de
l’utilisateur.

La fonction ”input” renvoie toujours une chaı̂ne de caractères (str).

29 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Les chaı̂nes de caractères : Méthodes

La fonction ”input” renvoie toujours une chaı̂ne de caractères (str).

De ce fait, si on s’attend à recevoir un nombre entier, il faut appeler la


fonction ”int” pour convertir le résultat en un entier.

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

Les listes : Méthodes

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

Les listes : Méthodes

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

Append/extend vs Addition (+)


Quelle est la différence entre Append et une Addition/concaténation ?

⁄125
33
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Append/extend vs Addition (+)


Quelle est la différence entre Append et une Addition/concaténation ?

Append/extend vs Addition (+)


Append et extend modifient la liste sur laquelle elles travaillent, alors que
l’addition crée un nouvel objet.

⁄125
33
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Append/extend vs Addition (+)


Quelle est la différence entre Append et une Addition/concaténation ?

Append/extend vs Addition (+)


Append et extend modifient la liste sur laquelle elles travaillent, alors que
l’addition crée un nouvel objet.

La fonction range() permet de créer une séquence de nombre (entiers). Nous


allons l’utiliser pour créer une liste d’entier.

⁄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.

Sort (Tri décroissant)


Par défaut la liste est triée par ordre croissant, pour un tri décroissant on utilise
reverse = True).

40 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Sort (chaı̂ne de caractères)


La méthode ”Sort” permet de faire également le tri sur les chaı̂nes de caractères
suivant un tri lexicographique, dérivé de l’ordre sur les caractères. Autrement dit,
c’est l’ordre du dictionnaire : ’a’ < ’z’.

Sort (chaı̂ne de caractères en Majuscule)


Néanmoins, lorsque la première caractère est en majuscule l’ordre de tri ne sera
plus le même de sorte que : ’Z’ < ’a’.

41 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Sort (chaı̂ne de caractères avec ”Espace ou ponctuation”)


Il est indispensable de savoir que le caractère ’Espace’ est plus petit que tous
les autres caractères imprimables. L’exemple ci-dessous représente une
chaine de caractère qui commence par un espace.

42 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Sort (chaı̂ne de caractères avec ”Espace ou ponctuation”)


Il est indispensable de savoir que le caractère ’Espace’ est plus petit que tous
les autres caractères imprimables. L’exemple ci-dessous représente une
chaine de caractère qui commence par un espace.

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

Objets mutables vs objets immuables

Les listes sont des objets mutables


Un objet mutable est un objet qui peut être modifier directement. Ci-dessous un
exemple d’un fragment de code qui illustre le caractère mutable des listes.

⁄125
44
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Objets mutables vs objets immuables

Les chaı̂nes sont des objets immuables


Un objet immuable est un objet qu’on ne peut pas modifier directement. Ci-dessous
un exemple d’un fragment de code qui illustre le caractère immuable des chaı̂nes de
caractères. pour obtenir l’effet recherché , Python crée un deuxième objet.

⁄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

Tuple singleton : Erreur

62 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Les tuples

Tuple singleton : Erreur

Pour Python les parenthèses permettent simplement de grouper des


opérations, et par conséquent il va considérer l’objet créer comme étant un
entier.

62 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Les tuples

Tuple singleton : Erreur

Pour Python les parenthèses permettent simplement de grouper des


opérations, et par conséquent il va considérer l’objet créer comme étant un
entier.

Tuple singleton : Solution


Pour un tuple d’un seul élément, il faut ajouter une virgule après l’élément.

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.

Ainsi on peut également utiliser l’opérateur += avec un tuple qui va créer,


comme précédemment, un nouvel objet tuple.

⁄125
64
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Les tuples

Modification d’un objet tuple : Erreur


Le tuple est un objet immuable, donc on ne peut pas le modifier.

⁄125
65
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Modification d’un objet tuple : Solution


Convertir l’objet tuple vers une liste, effectuer les modifications et
reconvertir la liste vers un objet tuple (création d’un nouvel objet tuple).

⁄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

Limitation des séquences

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.

Un dictionnaire peut être également représenté par une collection de couples


clé : valeur

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

Dr. Safaâ DAFRALLAH Langage Python 2021-2022


Plan Généralités Bases de Python Data Science

Les dictionnaires

Création d’un dictionnaire à partir d’une liste de tuples

Opérations sur les dictionnaires : del


Suppression d’un couple clé :valeur

⁄125
72
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Les dictionnaires

Opérations sur les dictionnaires : len


La fonction built-in ”len” permet de retourner le nombre de couple ’clé :valeur’ que
nous avons sur le dictionnaire.

Opérations sur les dictionnaires : Test d’appartenance


Le test d’appartenance permet de vérifier si une clé est présente dans un
dictionnaire.

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

Comment parcourir un dictionnaire ?

75 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Les dictionnaires

Comment parcourir un dictionnaire ?

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 :

Depuis une liste Python

⁄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 :

Depuis une liste Python

Erreur très populaire

⁄125
89
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Numpy

Type d’un tableau numpy


Le tableau numpy (ndarray) est homogène : toutes les cellules du tableau
possèdent le même type. Pour accéder au type du tableau ”a.dtype”

90 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Numpy

Type d’un tableau numpy


Le tableau numpy (ndarray) est homogène : toutes les cellules du tableau
possèdent le même type. Pour accéder au type du tableau ”a.dtype”

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

Type d’un tableau numpy


Le tableau numpy (ndarray) est homogène : toutes les cellules du tableau
possèdent le même type. Pour accéder au type du tableau ”a.dtype”

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

Type d’un tableau numpy


Nous pouvons aussi manuellement spécifier un type :

91 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Numpy

Type d’un tableau numpy


Nous pouvons aussi manuellement spécifier un type :

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

Créer les tableaux directement

⁄125
92
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Numpy

Créer les tableaux directement

⁄125
93
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Numpy

Propriétés d’un tableau numpy


❒ Nombre de dimensions
❒ La forme du tableau
❒ La taille du tableau
❒ Le type du tableau

⁄125
94
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Numpy

Indexation des tableaux numpy


De la même façon que nous pouvons indexer des éléments grâce à [], nous
pouvons accéder à un ensemble d’éléments en combinant [] et :. La syntaxe
suit une règle simple : x[début :fin :pas].

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

Indexation dans un tableau de 2 dimensions


Un tableau en 2 dimensions, correspond à lignes x colonnes.

96 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Numpy

Indexation dans un tableau de 2 dimensions


Le slicing dans un tableau numpy retourne une vue sur le tableau, il ne crée
pas une structure supplémentaire. Une modification sur le tableau original va
également affecté le sous-tableau qui est une vue sur le tableau original.

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

Lire les données d’un fichier


Pandas nous permet de lire les fichiers .csv et .json à l’aide des commande :
pd.read csv(”nom fichier.csv”) et pd.read json(”nom fichier.json”).

109 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Pandas

Lire les données d’un fichier


Lorsque le nombre de lignes dépassent 60, Pandas affiche les 5 premières et
dernières lignes seulement. La commande ”.to string()” permet d’afficher
toutes les lignes du tableau.

110 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Pandas

Lecture des données


”.head()” permet d’afficher les 5 premières lignes.

111 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Pandas

Lecture des données


”.tail()” permet d’afficher les 5 dernières lignes.

112 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Pandas

Lecture des données


”.info()” permet d’afficher des informations sur les données en entrée, tels
que : le nombre de colonnes et de lignes, le nombre d’éléments non vide, etc.

113 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Pandas

Nettoyage des données


Les données peuvent être parfois erronées, vides, etc. L’utilisateur doit tout
d’abord les nettoyées avant de les analysées.

114 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Pandas

Nettoyage des données


Les données peuvent être parfois erronées, vides, etc. L’utilisateur doit tout
d’abord les nettoyées avant de les analysées.

115 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Pandas

Nettoyage des données : Colonnes vides


Il existe différentes manières pour traiter le cas des colonnes vides. La
méthode choisie dépend des données utilisées.
❒ Suppressions des colonnes vides
❒ Remplissage des colonnes vides :
● Par la valeur moyenne
● Par la valeur du milieu
● Par la valeur qui se répète le plus

116 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Pandas

Nettoyage des données : Colonnes vides


La suppression des colonnes vides se fait par la méthode : ”.dropna()”.

117 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Pandas

Nettoyage des données : Colonnes vides


Remplir les colonnes vides se fait par la méthode : ”.fillna()”.

118 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Pandas

Nettoyage des données : Les données dupliquées


La méthode : ”.duplicated()”, permet de retourner les lignes dupliquées.

119 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Pandas

Nettoyage des données : Les données dupliquées


La méthode : ”.drop duplicates()”, permet de supprimer une des lignes
dupliquées.

120 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Pandas

Nettoyage des données : Format erroné


La méthode ”.to datetime()” permet de corriger le format de la date.

121 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Pandas

Nettoyage des données : Format erroné


La méthode ”.to datetime()” permet de corriger le format de la date.

122 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Pandas

Nettoyage des données : Format erroné


Supprimer la colonne vide par la méthode : ”.dropna(subset=[’date’])”

123 ⁄125
Dr. Safaâ DAFRALLAH Langage Python 2021-2022
Plan Généralités Bases de Python Data Science

Pandas

Nettoyage des données : Format erroné


Supprimer la colonne vide par la méthode : ”.dropna(subset=[’date’])”

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

Vous aimerez peut-être aussi