Cours 0 : Python
CHAPITRE I : PRINCIPE DE BASE DE PYTHON
1. PRESENTATION DE PYTHON
Python est un langage de programmation fortement utilisé dans le domaine du développement informatique et de la data science.
C’est un langage de programmation assez généraliste. Avec Python on peut faire : des sites et applications web, des applications mobiles, des scripts personnels, des applications de bureau et de l’analyse de données.
Concernant l’analyse de données, Python est de plus en plus utilisé avec l’essor de l’intelligence artificielle qui demande de forte capacité en programmation. De ce fait, Python est l’un des langages les plus utilisés, en particulier pour les traitements et manipulations de données, la data visualisation et le développement d’algorithmes d’intelligence artificielle.
Python pour l’analyse de données
Dans le cadre de cours consacré à l’analyse de données avec Python, nous utiliserons Anaconda.
Anaconda est une distribution libre et open source de Python : En installant Anaconda, On installe Python, Jupyter Notebook et d’autres packages scientifiques, essentiels pour l’analyse de données.
Télécharger et installer Anaconda
Anaconda est open source. C’est-à-dire qu’il est disponible gratuitement sans licence.
Son installable est disponible pour tous les système d’exploitation sur le site web de Anaconda : www.anaconda.com
Une fois téléchargé, il suffit de l’installer.
Vous pouvez également utiliser Python dans le cloud grâce à google collaboratory.
Jupiter Notebook
Anaconda offre plusieurs outils de programmation et d’analyse. Parmi ces outils nous utiliserons en particulier Jupiter.
les notebooks Jupiter sont des cahiers électroniques qui, dans le même document, peuvent rassembler du texte, des images, des formules mathématiques et du code informatique exécutable. Ils sont manipulables interactivement dans un navigateur web.
Initialement développés pour les langages de programmation Julia, Python et R (d’où le nom Jupyter).
Les notebook Jupiter sont très populaire dans le monde des analystes de données. Ils permet de créer et partager des rapports documents/code.
Pour lancer un notebook, lancer Anaconda, lancer Jupiter dans Anaconda, Jupiter s’ouvre dans le navigateur web (garder la page ouverte). Pour ouvrir le notebook, il faut cliquer sur « New » et choisir Python 3.
Les cellules sont les unités de base du notebook. Il existe 4 types de cellule dont les 2 qui nous intéressent sont :
- Le code : les codes exécutables et le Markdown : Cellule de texte servant à documenter le code ou interpréter les résultats.
Pour exécuter le code, il faut clique sur « Run ».
2. Les variables
Une variable est un espace permettant de stocker des valeurs que vous allez utiliser à plusieurs reprise dans votre programme.
Une variable contient donc une valeur.
Pour créer une variable en python, il suffit d’affecter une valeur à une variable. Nom_variable = valeur.
- Le nom de la variable ne peut ne peut être composé que lettres (minuscule et majuscule), de chiffres et du symbole underscore ( _ ). Le noms de la variable doit refléter son contenu. Exemple : âge_h et âge_f pour l’âge de l’homme et de la femme respectivement.
La valeur stockée dans la variable peut être un nombre ou des lettres.
Les types de données de base
Il s’agit du type de données stocker dans la variable. On a 3 types de base :
- Les integers ou int : Ce sont les nombres entiers. Exemple : nbre = 2
- Les floats ou nombre à virgule flottante : Ce sont les nombres à virgule. Exemple : quotient = 2,25
- Les strings: Ce sont les variables pouvant contenir les chaines de caractères. Exemple : nom_entr = ‘AS Statistique’.
On remarque pour les strings que la valeur est mise entre cote ou double cote. Aussi, lorsque l’un de ces caractères est présent dans la chaine, on échappe en ajoutant « \ ».
Les opérations sur les variables
Les variables sont stockées pour être utilisées dans le programme. La valeur d’une variable peut être modifiée. Cela se fait via des opérations.
Les opérations en python font généralement appel aux opérateurs arithmétiques :
- + pour Addition, – pour la soustraction, * pour la multiplication et / pour la division.
L’ordre de priorité des opérateurs s’applique ici mais en cas de calcul complexe, utiliser les parenthèses pour réorganiser le calcul.
3. Les fonctions de base
Une fonction est une suite d’instruction enregistrer sous un nom dans le but d’accomplir une action rapide.
La plupart des fonctions ont besoin d’au moins un paramètre ; ces paramètres sont des informations que vous passez à la fonction afin qu’elle travaille dessus. Les fonctions de base ne font pas exception.
- Les fonctions s’utilisent en respectant la syntaxe suivante : nom_de_la_fonction(paramètre_1, paramètre_2, …, paramètre_n).
- En résumé, on appelle une fonction en écrivant son nom suivi de la liste des paramètres de la fonction. Si la fonction n’a pas de paramètre, mettre des parenthèses vides.
Quelques fonctions basiques
- La fonction type : Une des grandes puissances de Python est qu’il comprend automatiquement de quel type est une variable et cela lors de son affectation. Mais il est pratique de pouvoir savoir de quel type est une variable. Pour ce faire, on utilise la fonction type. Syntaxe : type(nom_de_la_variable).
- La fonction print : Cette fonction permet d’afficher la valeur d’une ou plusieurs variables ou d’un texte. Syntaxe : print(‘ message teste’) ou print(a) si a est une variable.
- La fonction input : Elle permet de récupérer des données à l’utilisateur
4. Structures conditionnelles et boucles
Jusqu’à présent, nous avons testé des instructions d’une façon linéaire : l’interpréteur exécutait au fur et à mesure le code.
Cependant, il arrive que nous aillons besoin d’exécuter certaines instructions dans un cas et d’autres instructions dans un autre cas. Ou encore, qu’on aie besoin d’exécuter une même séquence d’instruction plusieurs fois ou tant qu’une certaine condition est vérifiée.
C’est dans ce cas que nous avons besoin des structures conditionnelles et des Boucles.
Structures conditionnelles
Les conditions sont un concepts essentiel en programmation. Elles permettent de faire une action précise sous une ou plusieurs conditions.
Par exemple : On demande à l’utilisateur d’entrer un nombre. Si le nombre est supérieure à 0, écrire : « Le nombre entré est positif »; si le nombre est inférieur à 0, écrire : « Le nombre est négatif »; si le nombre est 0, écrire : « Le nombre est nul ».
- Pour faire une condition en Python, on utilise « if ». La syntaxe est :
if condition :
Instructions
- La version complète : (if, elif, else) : elif est une réduction de else if : Cette forme est utilisée lorsqu’on a au moins 3 scénario.
En guise d’illustration, comprenons le code suivant :
- Avec la première ligne, on demande à l’utilisateur d’entrer un nombre au clavier et on stocke ce nombre dans nombre.
- Ensuite, on utilise la fonction int() pour convertir en entier. En effet, toute information obtenue grâce à la commande input() est un string. Donc, il faut convertir en integer.
- Aussi, nous utilisons la version (if, elif, else) car nous avons 3 conditions. On remarque qu’on a pas besoin de préciser else nombre ==0 car si un nombre n’est ni inférieur ni supérieur à 0, alors ce nombre est 0.
- En fin, les instructions à l’intérieur de la condition sont décalées vers la droite. On appelle ca « l’indentation ». C’est un concept très utilisé en Python. Ca correspond à 4 espaces ou une tabulation.
Boucles
Les boucles permettent de répéter un certain nombre d’instructions du programme. On a boucles en python :
- La boucle while : Elle permet de répéter une ou plusieurs conditions tant qu’une condition est remplie.
- Syntaxe
• Exemple
- La boucle for : Elle travaille sur des séquences. Elle répète une ou plusieurs instructions selon un nombre donné en avance.
- Syntaxe :
- Exemple : On peut reproduire l’exemple précèdent en utilisant cette fois la boucle for. Dans ce cas, on obtient :
5 5 .Les fonctions
Les fonctions permettent de regrouper plusieurs instructions dans un bloc qui sera appelé grâce à un nom. Elles sont présentent dans tous les langages de programmation et permettent de :
- réutiliser une portion de code déjà écrite via le nom de la fonction – il n’est donc pas nécessaire de réécrire toute la portion de code à chaque fois ;
- d’alléger un code et de le rendre plus lisible.
Il existe de nombreuses fonctions préexistantes sur python comme input(), int(), print() qui permettent de faire une tache précise.
Néanmoins, nous pouvons écrire nos propres fonctions plus ou moins complexe en fonction de nos objectifs.
- Une fonction est définie grâce au mot clé « def» suivi du nom de la fonction.
- Les paramètres de la fonction sont ensuite cités entre parenthèse après le nom de la fonction. Si la fonction n’a pas de paramètre, laissez les parenthèses vides.
- Les instructions associées à cette fonction seront ensuite écrites après les deux points.
On a :
- On note également l’indentation au niveau du bloc d’instruction : Toutes les instructions de la fonction doivent être décalées par rapport à la définition de la fonction.
- Le mot clé return
Lorsqu’on crée généralement une fonction en analyse de données, on veut qu’elle fasse un certains nombre d’opération et nous donne un résultat qu’on pourra utiliser dans la suite de notre programme. Grace au mot clé return, on peut sauvegarder le résultat de notre fonction dans une variable qu’on pourra utiliser à notre guise.
La définition de la fonction devient :
Pour récupérer le résultat de la fonction dans une variable après calcul, on ferra :
Nom_variable = nom_de_la_fonction(parametre1, …, paramètren)
6. Les Modules
Un module est grossièrement un bout de code que l’on a enfermé dans un fichier. On emprisonne ainsi des fonctions et des variables ayant toutes un rapport entre elles. Ainsi, si l’on veut travailler avec les fonctionnalités prévues par le module (celles qui ont été enfermées dans le module), il n’y a qu’à importer le module et utiliser ensuite toutes les fonctions et variables prévues.
Il existe un très grand nombre de module en python. De ce fait, il ne sont pas tous inclus par défaut dans python ou Jupiter.
Pour utiliser un module non inclus, il faut l’importer. Pour le faire, on utilise la commande « import ».
S’il n’est pas encore installer faire : pip install nom_du_module
Il existe plusieurs façon d’importer un module en python grâce à import :
- Import nom_du_module : Python importe le module ainsi que toutes les fonctions qu’il offre. Pour utiiser une fonction du module, faire : nom_du_module.nom_de_la_fonction.
- Import nom_du_module as new_nom : Ici, on utilise un espace de noms spécifique. Notre module s’appelle dorénavant nouveau nom. Pour utiliser une fonction du module, on fera : new_ nom.nom_de_la_fonction.
- from nom_du_module import nom_de_la_fonction : Avec cette méthode, on importe directement les fonctions dont on a besoin dans le module. Pour utiliser la dite fonction, il suffit de l’appeler par son nom.
7. Les listes
Les listes sont des objets qui peuvent contenir d’autres. Ce sont donc des séquences, comme les chaînes de caractères, mais au lieu de contenir des caractères, elles peuvent contenir n’importe quel objet.
- Pour créer une liste vide : nom_de_la_liste = [ ]. On pourra ensuite ajouter des objets grâce à la méthode append().
- Pour créer une liste avec des éléments, il suffit de s’indiquer les éléments : nom_de_la_liste = [elt1, elt2, …, eltn]. Les éléments d’une liste peuvent être de type différent.
- Exemple :
Manipulation des listes
- Pour ajouter des éléments à une liste, on utilise : nom_liste.append(elt) . elt est ajouter à la queue de la liste par défaut. Pour insérer un élément à une position particulière, on utilise insert. La syntaxe est : nom_liste.insert(indice, element).
Par exemple : insert(2, ‘c’) permet d’ajouter le caractère ‘c’ à l’indice 2 de ma liste.
- Pour supprimer une élément de la liste, on peut utiliser del ou remove. On a : del maliste[2] qui supprime l’élément à l’indice 2 de maliste. Remove utilise la valeur. Maliste.remove(32) suppime 32 de maliste.
- Pour connaitre la taille de la liste, on utilise : len( nom_de_la_liste)
- Le parcourt de la liste se fait avec les boucles.
8. Les dictionnaires
Les dictionnaires sont des objets pouvant en contenir d’autres, à l’instar des listes. Cependant, au lieu d’héberger des informations dans un ordre précis, ils associent chaque objet contenu à une clé (la plupart du temps, une chaîne de caractères).
- Pour créer un dictionnaire vide, on fait : nom_dictionnaire = dict( ) ou alors nom_dictionnaire = { }
- On peut également créer un dictionnaire en ajoutant directement des valeurs et les clés associées :
Nom_dico = {cle1 : valeur1, cle2 : valeur2, …, clen : valeurn}
Les clés sont généralement les strings et valeurs peuvent être de n’importe quel type; même des listes. Ainsi les éléments du dictionnaires sont des paires clé , valeurs.
Manipulation des dictionnaires
- Pour ajouter des éléments à un dictionnaire, on ajoute la clé et la valeur associé : nom_dictionnaire[clé] = valeur.
- On accède aux éléments du dictionnaire par la clé. Nom_dictionnaire[clé]
- Pour supprimer un élément du dictionnaire, on peut utiliser del ou pop. On a : del nom_dictionnaire[ clé] qui supprime la clé et la valeur associée ou faire : Nom_dictionnaire.pop(clé)
9: Analyse de Données
L’analyse de données sur Python se fait grâce à 3 modules au moins. Il s’agit de :
- Numpy pour la manipulation des éléments mathématiques et des matrices;
- Pandas pour la manipulation des données;
- Matplotlib pour la visualisation des données grâce aux graphiques.
En plus de ces bibliothèques, bien d’autre peuvent être utilisés comme Statmodels pour l’économétrie, seaborn ou plotly pour la visualisation 3D et Scikitlearn pour l’intelligence artificiel.
Merci bien pour tout ce que vous faites. C’est très appréciable et encourageante.
Merci à vous pour votre intérêt à ce que nous faisons.
Merci à vous. c’est un plaisir pour nous.
Très intéressant ce cours. Nous sommes impatients d’apprendre analyse des données avec R aussi et stata
C’est un plaisir pour nous de mettre à votre disposition ces connaissances. les notions pour R et stata seront directement après pour Python, donc soyons juste patient. Merci encore de votre intérêt, et n’hésitez pas à nous contacter en cas de problèmes.
Très bon cours
Merci beaucoup. Le cours est bien résumé et permet de rapidement se rafraîchir la mémoire.
c’est un plaisir