SlideShare une entreprise Scribd logo
1  sur  89
Télécharger pour lire hors ligne
M2 INAE/ SEMESTRE 1
2022-2023
Amdouni Hajer
ESSECT
INTRODUCTION PYTHON
PYTHON AUX ÉCONOMISTES
1
PLAN
1. Historique du langage python
2. Caractéristiques du langage Python
3. Base de la programmation Python
Partie 1
Partie 2
Partie 3
4. Structures de données: Types et Variables
5. Structures de contrôle: Structures conditionnelles et structures itératives
6. Les collections Python
7. Les sous programmes Python
8. Librairie Numpy
2
Partie 1
1. Historique du langage python
3
1. Historique du langage python
4
• Python est un langage de programmation de haut niveau largement utilisé.
• L’inspiration pour le nom est venue de l’émission télévisée de la BBC – ‘Monty
Python’s Flying Circus’
• Guido Van Rossum a d’abord commencé comme un projet de passe-temps
parce qu’il cherchait un projet intéressant pour s’occuper pendant Noël
décembre 1989 .
• En 1999, le projet Computer Programming for Everybody (CP4E) est lancé
avec collaboration entre le CNRI et la DARPA. Il s'agit d'utiliser Python comme
langage d'enseignement de la programmation.
Guido Van Rossum
Créateur Python
1. Historique du langage python
5
● 1ère version (0.9.0) en 1991 développé par Guido Van Rossum.
● Python 2.0 : Octobre 2000
● Python 3.0 : Décembre 2008
● Dernière version : 3.10.7 apparue le 04 Octobre 2021
Versions Python
Partie 1
2. Caractéristiques du langage Python
6
7
• Python est un langage de programmation objet interprété et open source (free)
• Disponible sur la grande majorité des plates-formes courantes (BeOS, Mac OS X, Unix, Windows).
• Langage polyvalent : nous pouvons presque tout faire avec Python grâce à ses bibliothèques
variées.
• Python gère ses ressources (mémoire, descripteurs de fichiers...) sans intervention du
programmeur : il intègre un système de ramasses miettes (Garbage Collector)
• Il a été principalement développé pour mettre l’accent sur la lisibilité du code, et sa syntaxe permet
aux programmeurs d’exprimer des concepts en moins de lignes de code.
Objectifs
2. Caractéristiques du langage Python
Caractéristiques
2. Caractéristiques du langage Python
8
9
Qui utilise python?
2. Caractéristiques du langage Python
Le premier selon le classement TIOBE -septembre 2022-
10
Qui utilise python?
2. Caractéristiques du langage Python
Le premier selon le classement PYPL -septembre 2022-
11
Les 10 Sites Web les plus populaires construits avec Python
2. Caractéristiques du langage Python
1. Spotify
2. Instagram
3. Netflix
4. Uber
5. Dropbox
6. Reddit
7. Google
8. Quora
9. Facebook
10.Pinterest
12
Pourquoi Python
2. Caractéristiques du langage Python
Partie 1
3. Base de la programmation Python
13
3. Base de la programmation Python
14
Tutoriels en ligne :
• OpenClassroom
• Python.Developpez
• Wikibooks
Site Officiel:
• python.org
Plateformes en ligne:
• Kaggle
• Github
15
3. Base de la programmation Python
Environnement de développement
 Compilateur python en ligne
 Google Collab
 Distribution ANACONDA
 Python + IDE python
Exemple: https://www.programiz.com/python-programming/online-compiler/
ATOM, Spyder , VS CODE, Pycharm…..
16
● Le symbole # est utilisé pour commenter une seule ligne :
#Ceci est un commentaire
● Tout ce qui se trouve entre les symboles """ est considéré comme commentaire :
""" Tout ceci est un comme commentaire """
Les commentaires
3. Base de la programmation Python
Indentation
Spécificité code python
Il est recommandé avec Python d'indenter son code avec 4 espaces (équivalent à 1 tabulation).
L'indentation est obligatoire en Python pour séparer les blocs d'instructions.
3. Base de la programmation Python
17
Exemple Code Python
Partie 1
4. Structures de données: Types et Variables
18
4. Structures de données: Types et Variables
19
Python est Dynamiquement typé, c.à.d, toute variable manipulable par le
programmeur :
– possède un type bien définit à l'exécution,
– qui n'a pas besoin d'être déclaré à l'avance,
– qui peut être modifié lors de l’exécution.
● Une variable est définie par :
nom_variable = valeur
4. Structures de données: Types et Variables
20
● Les noms de variables sont sensibles à la casse.
● Utiliser uniquement des caractères alphanumériques et des tirets bas.
● Commencer avec une lettre ou le tiret bas : un nom de variable ne peut pas commencer par un
nombre.
● Utiliser des noms descriptifs pour les variables : un nom de variable doit refléter son contenu.
● Utiliser des mots complets : éviter d’abréger ou de raccourcir les mots.
● Suivre une convention d’appellation commune : la convention populaire pour Python est le snake
case
Les noms de variables
4. Structures de données: Types et Variables
21
Les types de variables
4. Structures de données: Types et Variables
22
● Un « int » représente un entier naturel.
● Un « float » représente un réel.
● Les opérations possibles sur ces types sont :
– x + y : la somme de x et y.
– x - y : la différence entre x et y.
– x * y : le produit de x et y.
– x / y : le quotient réel de x et y.
Les nombres
– x // y : le quotient entier de x par y.
– x % y : le reste de x divisé par y.
– x ** y : la puissance de x par y. Equivalent de pow(x, y)
4. Structures de données: Types et Variables
23
● Le type booléen prend les valeurs True or False.
● On peut lui appliquer les opérateurs logigues :
– ET Logique : and
– OU Logique : or
– Négation : not – ...
Le type booléen
4. Structures de données: Types et Variables
24
● Une chaîne de caractère est une séquence de caractères.
● Python utilise le code UNICODE.
● Une chaîne est déclarée entre les apostrophes ou les guillemets.
● On peut utiliser les symboles de formatage ‘n’, ‘t’, … dans une chaîne.
● On peut utiliser le symbole """ pour déclarer une chaîne multi-lignes.
Les chaînes de caractères
4. Structures de données: Types et Variables
25
● L’opérateur == vérifie si deux chaînes sont égales.
'Lig' == 'lig' →False
● L’opérateur + permet de concaténer deux chaînes.
'bon' + "jour"→ 'bonjour'
● L’opérateur * permet de répéter une chaîne plusieurs fois.
'lig' * 3→ 'ligliglig'
● La fonction len() renvoie la longueur d’une chaîne
len('hello') 5
Opérations sur les chaînes
4. Structures de données: Types et Variables
26
Indexation des chaînes
4. Structures de données: Types et Variables
27
● On peut accéder à une partie d’une chaîne en utilisant la syntaxe :
nom_chaîne[indice_début:indice_fin+1:incrément]
● ch = 'bonjour'
● ch[1] → 'o‘
● ch[-2] → 'u'
● ch[2:5] → 'njo'
● ch[3:] → 'jour'
Accès à un sous ensemble d’une chaîne
4. Structures de données: Types et Variables
28
● ch[:3] → 'bon'
● ch[:] → 'bonjour'
● ch[1::2] → 'oju'
● ch[2::] →'njour'
● ch[::3] → 'bjr'
Accès à un sous ensemble d’une chaîne
4. Structures de données: Types et Variables
29
● Une chaîne de caractères est représentée par un objet de la classe str.
● Pour connaître les méthodes de la classe str, on peut taper sur la console
interactive la commande : dir(str)
● Pour avoir une aide sur une méthode en particulier, on peut utiliser la
commande : help(str.nom_commande)
Méthodes de la classe str
4. Structures de données: Types et Variables
30
● Pour demander à l’utilisateur de saisir une valeur, on utilise la fonction input :
Variable = input("message pour l’utilisateur")
● Dans ce cas, la variable sera de type str. On pourra ensuite modifier le type
de la variable en utilisant les fonctions de conversion de type.
Exemple : Variable = int(input("message pour l’utilisateur"))
Fonction de saisie
Partie 1
5. Structures conditionnelles et structures itératives
31
5. Structures conditionnelles et structures itératives
Structures conditionnelles
32
On peut contrôler l’exécution d’un programme en utilisant les structures conditionnelles.
● La syntaxe est la suivante :
if condition1:
instructions 1
elif condition2:
instructions 2
else :
instructions 3
Attention :
l’indentation est obligatoire !
5. Structures conditionnelles et structures itératives
33
● La fonction range() renvoie une séquence d’entiers se trouvant entre deux valeurs.
● range(a): désigne les entiers de l’intervalle [0,a[
● range (a,b): désigne les entiers de l’intervalle [a,b[
● range (a,b,c): désigne les entiers de l’intervalle [a,b[ par pas entier égal à c
La fonction range()
5. Structures conditionnelles et structures itératives
Structures itératives
34
Boucle for
● La fonction range() est généralement utilisé avec la boucle for pour répéter un
ensemble d’instructions.
● La syntaxe est comme suit : for i in range(a,b,c) : instructions
5. Structures conditionnelles et structures itératives
Structures itératives
35
Quel est le résultat des boucles suivantes :
for i in range(1, 5) :
print(i**2)
for i in range(1, 11, 2) :
print(i)
for i in range(10, 1, -2) :
print(i)
5. Structures conditionnelles et structures itératives
Structures itératives
36
Boucle for
● La boucle for peut aussi être utilisé pour itérer sur les caractères d’une
chaîne de caractères ou les éléments d’une collection.
● Dans ce cas, la syntaxe est la suivante :
for el in iterable:
instruction
5. Structures conditionnelles et structures itératives
Structures itératives
37
Question
Qu’affiche le code suivant ?
ch='azerty'
ch1=‘ '
for c in ch:
ch1 = ch1 + c*2
print(ch1)
5. Structures conditionnelles et structures itératives
Structures itératives
38
L’instruction continue
● L’instruction continue permet d’ignorer le reste des instructions de l’itération
courante et de passer à l’itération suivante.
● Exemple :
for c in "azerty":
if c == "r":
continue
print c
5. Structures conditionnelles et structures itératives
Structures itératives
39
L’instruction break
● L’instruction break permet de sortir d’une boucle avant la fin de toutes les
itérations.
● Exemple :
for c in "azerty":
if c == "r":
break
print(c)
5. Structures conditionnelles et structures itératives
Structures itératives
40
Else dans une boucle for
● Le mot-clé else dans une boucle for spécifie un bloc de code à exécuter lorsque la
boucle est terminée.
● Exemple :
for x in range(6):
print(x)
else:
print("Terminé!")
5. Structures conditionnelles et structures itératives
Structures itératives
41
Else dans une boucle for
● Attention : le bloc else ne sera pas exécuté si la boucle est arrêtée par une
instruction break.
● Exemple :
for x in range(6):
if x == 3:
break
print(x)
else:
print("Terminé!")
5. Structures conditionnelles et structures itératives
Structures itératives
42
La boucle while
● Exemple :
i = 1
while i < 6:
print(i)
i += 1
● Comme pour la boucle for, on peut utiliser les instructions break, continue et
else avec la boucle while
5. Structures conditionnelles et structures itératives
Structures itératives
43
Qu’affiche le code suivant ?
ch = '537024‘
i = 0
while i < len(ch):
if int(ch[i]) == 0:
break
print(ch[i])
i+=1
else:
print('La chaîne ne contient pas de zéro')
Partie 1
6. Les collections Python
44
6. Les collections Python
● Une collection est un objet composite destiné à contenir d’autres variables.
● Python contient quatre types de collections:
– les listes,
– les tuples,
– les sets,
– les dictionnaires.
● Les collections sont itérables c.à.d on peut les parcourir avec la boucle for
Présentation
45
6. Les collections Python
a. Les listes
 Une liste est une collection ordonnée d’éléments.
 Les éléments d’une liste peuvent être hétérogènes
 Une liste est modifiable.
 Les éléments d’une liste sont définis entre crochets [ ] et séparés par
des virgules.
Exemple : my_list = ["abc", 34, True, 40, "male"]
46
6. Les collections Python
a. Les listes
 La liste peut également être indexée avec des nombres négatifs selon le modèle suivant :
liste : ["girafe", "tigre", "singe", "souris"]
indice positif : 0 1 2 3
indice négatif : -4 -3 -2 -1
Les indices négatifs reviennent à compter à partir de la fin. Leur principal avantage est que vous pouvez accéder au
dernier élément d'une liste à l'aide de l'indice -1 sans pour autant connaître la longueur de cette liste. L'avant-dernier
élément a lui l'indice -2, l'avant-avant dernier l'indice -3, etc.
Indexation des Listes
L’indexation et l’accès aux éléments d’une liste suit les mêmes règles que celles pour les chaînes de caractères.
47
6. Les collections Python
a. Les listes
Indexation des Listes
L’indexation et l’accès aux éléments d’une liste suit les mêmes règles que celles pour les
chaînes de caractères.
Exemple :
L=[1, 2, 3, 6, 1.3, 'hello', 'bb']
len(L)
L[0]
L[-1]
L[3:]
L[:5]
L[2:5]
L[1::2]
L[::2]
L[-1::-1]
48
6. Les collections Python
49
Opérations sur les listes
L = [] ou L = list()
L = L + [3, 2] → L = [3, 2]
L = L * 2 → L = [3, 2 , 3, 2]
L = L + [4] * 3 → [3, 2, 3, 2, 4, 4, 4]
● On peut vérifier l’existence d’un élément dans une liste en utilisant
l’opérateur in.
"apple" in ["apple", "banana", "cherry"] True
6. Les collections Python
50
Modification d’une liste
Pour changer un élément d’une liste, il suffit de le référencer par son indice :
thislist = ["apple", "banana", "cherry"]
thislist[1] = "ananas"
● Pour insérer un élément dans une position particulière, on utilise la méthode insert() :
thislist.insert(2, "watermelon")
● Pour ajouter un élément à la fin d’une liste, on utilise la méthode append() :
thislist.append("orange"
6. Les collections Python
51
Suppression d’un élément
● La méthode pop() permet de supprimer un élément selon son indice :
● thislist = ["apple", "banana", "cherry", "banana"] thislist.pop(2)
● Si on ne spécifie pas l'index, la méthode pop() supprime le dernier élément.
● La méthode remove() supprime la 1ère occurrence d’une valeur :
thislist.remove("banana")
● La méthode clear() supprime tous les éléments d’une liste : thislist.clear()
6. Les collections Python
52
Tri d’une liste
● La méthode sort() permet de trier une liste par ordre alphanumérique,
ascendant : thislist1 = ["orange", "mango", "kiwi", "banana"] thislist1.sort()
● Afin de faire un tri décroissant, on utilise le paramètre reverse avec la valeur
True : thislist2 = [100, 50, 65, 82, 23] thislist2.sort(reverse = True)
● Pour copier une liste, on utilise la méthode copy() : mylist = thislist1.copy()
6. Les collections Python
53
Création d’une liste et fonction range()
On peut créer une liste en utilisant la fonction range() de la manière suivante :
nom_list = [expression for x in range(valeur) if condition]
● La condition est comme un filtre qui accepte uniquement les éléments dont la
valeur est True.
● Exemples :
L1 = [x for x in range(5)] → L1 = [0, 1, 2, 3, 4]
L2 = [2*x for x in range(5)] →L2 = [0, 2, 4, 6 , 8 ]
L3 = [x for x in range(5) if x!=3] → L3 = [0, 1, 2, 4]
6. Les collections Python
54
Création d’une liste par compréhension
● La compréhension de liste offre une syntaxe raccourcie pour créer une nouvelle
liste basée sur les valeurs d'une liste existante :
newlist = [expression for item in liste if condition]
● Exemple :
fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
L1 = [x for x in fruits if "a" in x]
L2 = [x.upper() for x in fruits]
L3 = ['hello' for x in fruits]
6. Les collections Python
55
● Un tuple est une collection ordonnée d’éléments.
● Les éléments d’un tuple peuvent être hétérogènes.
● Un tuple est non modifiable.
● Les éléments d’un tuple sont définis entre parenthèses ( ) et séparés par des
virgules.
● Exemple :
fruits = ("apple", "banana", "cherry")
Les tuples
6. Les collections Python
56
Remarques
● L’indexation et l’accès aux éléments d’un tuple suit les mêmes règles que celles pour les
chaînes de caractères et les listes.
● Les opérateurs + et * fonctionnent de la même manière que pour les listes et les chaînes de
caractères.
● Les parenthèses peuvent être enlevés dans la définition d’un tuple !
● On crée un tuple vide en écrivant : empty = () ou bien empty = tuple()
● Si un tuple contient une seule valeur alors cette valeur doit être suivie d’une virgule dans la
définition du tuple : singleton = 'lig', ou bien singleton = ('lig',)
6. Les collections Python
57
Conversion liste - tuple
● On peut convertir un tuple en une liste de la manière suivante :
nom_liste = list(nom_tuple)
● On peut aussi convertir une liste en un tuple de la manière suivante :
nom_tuple = tuple(nom_liste)
6. Les collections Python
58
● Un set est une collection non ordonnée d’éléments.
● Les éléments d’un set peuvent être hétérogènes.
● Les éléments d’un set sont non modifiables. Cependant, on peut ajouter de nouveaux
éléments ou supprimer des éléments existants.
● Les éléments d’un set sont définis entre accolades { } et séparés par des virgules.
● Exemple : fruits = {"apple", "banana", "cherry"}
Les sets
6. Les collections Python
59
● Les éléments d’un set ne sont pas indexés.
● Un set n’accepte pas de doublons. Si on définit, un set en répétant deux fois la même valeur alors une seule
valeur sera conservée : fruits = {"apple", "banana", "cherry", "apple"} Est équivalent à : fruits = {"apple",
"banana", "cherry"}
● Un set peut être crée à partir d’une liste ou un tuple : fruits = set(["apple", "banana", "cherry"])
Les sets
6. Les collections Python
60
Parcours, ajout et suppression
● On peut parcourir un set en utilisant la boucle for. Dans ce cas, l’ordre d’accès
aux éléments du set sera différent à chaque exécution.
● La méthode add() permet d’ajouter un élément à un set : fruits.add("orange")
● La méthode discard() permet de supprimer un élément d’un set :
fruits.discard('apple‘)
6. Les collections Python
61
● Un dictionnaire est une collection ordonnée d’éléments.
● Un dictionnaire est une collection de type clé/valeurs.
● Les clés dans un dictionnaire sont uniques.
● Les éléments d’un dictionnaire peuvent être hétérogènes.
● Un dictionnaire est modifiable
● Les éléments d’un dictionnaire sont définis entre accolades et séparés par des virgules.
● Chaque élément est définie par une clé et une valeur.
● La clé et la valeur sont séparés par deux points.
● Exemple :
car = { "brand": "Ford", "model": "Mustang", "year": 1964 }
Les dictionnaires
6. Les collections Python
62
Accès à un élément
● On peut accéder à un élément d'un dictionnaire en se référant à son nom
de clé, entre crochets :
print(car['brand'])
● La méthode get() permet d’avoir le même résultat :
x = car.get('brand')
6. Les collections Python
63
Ajout/Modification/ Suppression
● L'ajout d'un élément au dictionnaire se fait en utilisant une nouvelle clé et en lui attribuant une
valeur :
car["color"] = "red "
● On peut modifier la valeur d'un élément spécifique en se référant à son nom de clé :
car["year"] = 2018
● La méthode pop() supprime l'élément avec le nom de clé spécifié :
car.pop("model" )
6. Les collections Python
64
Accès aux clés et valeurs
● La méthode values() retourne une liste de toutes les valeurs d’un dictionnaire.
● La méthode keys() retourne une liste de toutes les clés d’un dictionnaire.
● La méthode items() renvoie une liste contenant un tuple pour chaque paire clé-valeur d’un dictionnaire.
● Attention : Ces trois méthodes renvoient une vue du dictionnaire c.à.d qu’un changement sur le
dictionnaire sera automatiquement répercuté sur le résultat de chacune de ces méthodes :
car = { "brand": "Ford", "model": "Mustang" }
x = car.keys()
print(x) # ['brand', 'model']
car["color"] = "white«
print(x) # ['brand', 'model', 'color']
6. Les collections Python
65
Parcours d’un dictionnaire
6. Les collections Python
66
Résumé : Caractéristiques des collections
Partie 1
7. Les sous programmes Python
67
68
7. Les sous programmes Python
En programmation, les fonctions sont très utiles pour réaliser plusieurs fois la même opération
au sein d'un programme. Elles rendent également le code plus lisible et plus clair en le
fractionnant en blocs logiques.
Définition
>>> def carre(x):
... return x**2
...
>>> print(carre(2)) 4
Pour définir une fonction, Python utilise le
mot-clé def. Si on souhaite que la fonction
renvoie quelque chose, il faut utiliser le
mot-clé return.
Exemple
Partie 3
8. Librairie Numpy
69
6. Librairie Numpy
NumPy (Numerical Python) est la bibliothèque la plus populaire de calcul scientifique en
Python. Ainsi, elle permet d’effectuer les calculs scientifiques de base et de manipuler assez
facilement les tableaux multidimensionnels. En gros NumPy permet de faire :
 de l’Analyse numérique
 de l’Algèbre Linéaire
 du Calcul matriciel
 …
L’import de la bibliothèque NumPy se fait comme suit :
import numpy as np
70
6. Librairie Numpy
NumPy propose une structure de données populaire, les tableaux (de type array), sur
lesquels il est possible d’effectuer de manière efficace des calculs. Les tableaux sont
une structure notamment utile pour effectuer des opérations statistiques basiques ainsi
que de la génération pseudo-aléatoire de nombres.
Les tableaux
La structure des tableaux ressemble à celle des listes, mais ces dernières sont moins
rapides à être traitées et utilisent davantage de mémoire. Le gain de vitesse de
traitement des tableaux en NumPy vient du fait que les données sont stockées dans
des blocs contigus de mémoire, facilitant ainsi les accès en lecture
71
6. Librairie Numpy
• Lors des calculs logiques et mathématiques sur des matrices et tableaux, c’est NumPy qui est très sollicité. Il
permet d’effectuer rapidement et efficacement les opérations par rapport aux listes Python.
• Les tableaux NumPy utilisent d’abord moins de mémoire et d’espace de stockage, ce qui le rend plus
avantageux que les tableaux traditionnels de python.
• En effet, un tableau NumPy est de petite taille et ne dépasse pas les 4MB. Mais une liste peut atteindre les
20MB. De plus, les tableaux NumPy sont faciles à manipuler.
Pourquoi utiliser NumPy ?
• Cette différence est remarquable quand vous voulez traiter avec des tableaux ayant des milliers d’éléments.
De plus, avec les tableaux NumPy, vous serez en mesure d’effectuer des opérations par éléments, ce qui est
impossible avec les listes Python.
72
6. Librairie Numpy
import numpy as np
org_array = np.array([[23, 46, 85],
[43, 56, 99],
[11, 34, 55]])
print(org_array)
Exemple
73
6. Librairie Numpy
Création d’un tableau
np.array([ 1 , 2 , 3 , 4 ])
Ce tableau n’a que des valeurs entières. Vous avez la possibilité de préciser le type de données dans l’argument :
np.array ([ 1 , 2 , 3 , 4 ], dtype = np . float32 )
74
6. Librairie Numpy
Les tableaux multidimensionnels NumPy
Tableau de Zéros et de Un
Avec NumPy, vous avez la possibilité de créer des tableaux dont toutes les valeurs sont
0. C’est avec la méthode np.zeros() que vous pouvez effectuer cette opération.
import numpy as np
np.zeros(5)
np.ones(5,dtype = np . int32 )
75
6. Librairie Numpy
Les nombres aléatoires
La méthode la plus utilisée pour créer des tableaux est la méthode np.random.rand(). Cette méthode crée des
tableaux avec des valeurs aléatoires comprises entre 0 et 1 :
76
6. Librairie Numpy
Un tableau de votre choix
Vous avez la possibilité de remplir le tableau avec n’importe quelle donnée grâce à la méthode np.full() :
np.full((2,2),7 )
7 7
7 7
77
la méthode append() qui ajoute plutôt de nouvel élément dans le tableau :
6. Librairie Numpy
78
# ajoute des valeurs à ndarray
a = np.array([[1,2], [3,4]])
np.append(a,[[5,6]], axis=0)
6. Librairie Numpy
Il arrive parfois que vous alliez vouloir réduire un tableau multidimensionnel à un
tableau à une seule dimension. Pour cela, vous pouvez utiliser les
méthodes flatten() et ravel().
Aplatir un tableau NumPy
a = np.ones((2,2))
b = a.flatten()
c = a.ravel()
print('Forme Original :', a.shape)
print('Array :','n', a)
print('Forme après aplatissement :',b.shape)
print('Array :','n', b)
print('Forme après ravel :',c.shape)
print('Array :','n', c)
Remarque
Toute modification apportée au tableau
renvoyé par ravel() sera également reflétée
dans le tableau d’origine alors que ce ne
sera pas le cas avec flatten().
79
6. Librairie Numpy
Transposition d’un tableau NumPy
Une autre manière de modifier la forme d’un tableau avec NumPy est la méthode transpose(). Cette
méthode renvoie la transpose d’un tableau qui est le changement des valeurs des lignes par les colonnes.
a = np.array([[1,2,3], [4,5,6]])
b = np.transpose(a)
print('Original','n','Shape',a.shape,'n',a)
print('Développer le long des colonnes :','n','Forme',b.shape,'n',b)
80
6. Librairie Numpy
Découpage de tableaux NumPy 1-D
récupérer des éléments d’un index à un autre [début : fin].
Vous pouvez même faire mieux en donnant le pas de la taille.
81
6. Librairie Numpy
Découpage de tableaux NumPy 2-D
a = np.array([[1,2,3],[4,5,6]])
# affiche les valeurs de la première ligne
print('Valeurs de la première ligne :','n',a[0:1,:])
# avec un pas pour les colonnes
print('Valeurs alternatives de la première ligne :','n',a[0:1,::2]) #
print('Valeurs de la deuxième colonne :','n',a[:,1::2])
print('Valeurs arbitraires :','n',a[0:1,1:3])
82
6. Librairie Numpy
obtenir un élément d’un tableau 2D :
la méthode flip(), vous pouvez aussi inverser le tableau :
a = np.array([[1,2,3,4,5], [6,7,8,9,10]])
print('Tableau inversé verticalement :','n',np.flip(a,axis=1))
print('Tableau inversé horizontalement :','n',np.flip(a,axis=0)) 83
6. Librairie Numpy
Empiler des tableaux
Il existe deux manières de créer un tableau en combinant d’autres tableaux. Vous allez découvrir
les deux manières :
•Combiner les tableaux sur la verticale, c’est à dire le long des lignes grâce à la
méthode vstack(). Cela va augmenter évidemment le nombre de lignes dans le tableau
final ;
•Effectuer une combinaison sur l’horizontal, c’est à dire le long des colonnes grâce à la
méthode hstack(). Cela va augmenter évidemment le nombre de colonnes dans le tableau
final.
84
6. Librairie Numpy
a = np.arange(0,5)
b = np.arange(5,10)
print('Tableau 1 :','n',a)
print('Tableau 2 :','n',b)
print('Empilement vertical :','n',np.vstack((a,b)))
print('Empilement horizontal :','n',np.hstack((a,b)))
Empiler des tableaux
85
6. Librairie Numpy
Concaténer des tableaux
Il n’y a pas que la méthode de combinaison qui permet de formuler un tableau à base d’autres tableaux.
Avec la méthode concatenate(), le tour est joué :
a = np.arange(0,5).reshape(1,5)
b = np.arange(5,10).reshape(1,5)
print('Tableau 1 :','n',a)
print('Tableau 2 :','n',b)
print('Concaténer le long des lignes :','n',np.concatenate((a,b),axis=0))
print('Concaténer le long des colonnes :','n',np.concatenate((a,b),axis=1))
86
6. Librairie Numpy
87
Opérations arithmétiques de base sur les tableaux NumPy
a = np.arange(1,6)
print('Soustraire :',a-5)
print('Multiplier :',a*5)
print('Diviser :',a/5)
print('Puissance :',a**2)
print('Reste :',a%5)
6. Librairie Numpy
88
Moyenne, médiane et écart type
a = np.arange(5,15,2)
print('Mean :',np.mean(a))
print('Déviation standard :',np.std(a))
print('Median :',np.median(a))
a = np.array([[1,6], [4,3]])
# minimum le long d'une colonne
print('Min :',np.min(a,axis=0))
# maximum le long d'une ligne
print('Max :',np.max(a,axis=1))
Valeurs Min-Max et leur indice
a = np.array([[1,6,5], [4,3,7]])
# minimum le long d'une colonne
print('Min :',np.argmin(a,axis=0))
# maximum le long d'une ligne
print('Max :',np.argmax(a,axis=1))
6. Librairie Numpy
89
a = np.array([1,4,2,5,3,6,8,7,9]) np.sort(a, kind='quicksort')
Tri
a = np . array ( [[ 5 , 6 , 7 , 4 ], [ 9 , 2 , 3 , 7 ]] )
# trier le long de la colonne
print ( 'Trier le long de la colonne :' , 'n' , np . sort ( a , kind = 'mergresort' , axis = 1 ))
# trier le long la ligne
print ( 'Trier le long de la ligne :' , 'n' , np . sort ( a , kind = 'mergesort' , axis =0 ))
Tri d’un axe

Contenu connexe

Similaire à M2 INAE introduction python.pdf

Support Formation Samsung - Python - Session 1 - 2022.pptx
Support Formation Samsung - Python - Session 1 - 2022.pptxSupport Formation Samsung - Python - Session 1 - 2022.pptx
Support Formation Samsung - Python - Session 1 - 2022.pptxbpmana
 
Chap 1 Initiation.pptx
Chap 1 Initiation.pptxChap 1 Initiation.pptx
Chap 1 Initiation.pptxolfaharrabi2
 
PPT Python.pptx
PPT Python.pptxPPT Python.pptx
PPT Python.pptxbpmana
 
pythonxxzexexzxzexzexzexzxzexezxzexzxz.pdf
pythonxxzexexzxzexzexzexzxzexezxzexzxz.pdfpythonxxzexexzxzexzexzexzxzexezxzexzxz.pdf
pythonxxzexexzxzexzexzexzxzexezxzexzxz.pdfMehdiHarchenifChassa
 
FormationPython2019.pptx
FormationPython2019.pptxFormationPython2019.pptx
FormationPython2019.pptxLamissGhoul1
 
Formation python micro club.net
Formation python micro club.netFormation python micro club.net
Formation python micro club.netZakaria SMAHI
 
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCSiratiSoufiane
 
Java1_BasesLangage.pdf
Java1_BasesLangage.pdfJava1_BasesLangage.pdf
Java1_BasesLangage.pdfLarbaSAWADOGO2
 
Java1_BasesLangage.pdf
Java1_BasesLangage.pdfJava1_BasesLangage.pdf
Java1_BasesLangage.pdfLarbaSAWADOGO2
 
Formation python
Formation pythonFormation python
Formation pythonj_lipaz
 
Programming language python 2021
Programming language python 2021Programming language python 2021
Programming language python 2021Dalila Chouaya
 
Langage de Programmation.pdf
Langage de Programmation.pdfLangage de Programmation.pdf
Langage de Programmation.pdfAboubacarDiarra10
 
ESGAE_C#_2021-2024 Cours Avancé (('.pptx
ESGAE_C#_2021-2024 Cours Avancé (('.pptxESGAE_C#_2021-2024 Cours Avancé (('.pptx
ESGAE_C#_2021-2024 Cours Avancé (('.pptxLagloireSouamounou
 
Cours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfCours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfHailisara
 

Similaire à M2 INAE introduction python.pdf (20)

COURS_PYTHON_22.ppt
COURS_PYTHON_22.pptCOURS_PYTHON_22.ppt
COURS_PYTHON_22.ppt
 
Support Formation Samsung - Python - Session 1 - 2022.pptx
Support Formation Samsung - Python - Session 1 - 2022.pptxSupport Formation Samsung - Python - Session 1 - 2022.pptx
Support Formation Samsung - Python - Session 1 - 2022.pptx
 
Chap 1 Initiation.pptx
Chap 1 Initiation.pptxChap 1 Initiation.pptx
Chap 1 Initiation.pptx
 
PPT Python.pptx
PPT Python.pptxPPT Python.pptx
PPT Python.pptx
 
pythonxxzexexzxzexzexzexzxzexezxzexzxz.pdf
pythonxxzexexzxzexzexzexzxzexezxzexzxz.pdfpythonxxzexexzxzexzexzexzxzexezxzexzxz.pdf
pythonxxzexexzxzexzexzexzxzexezxzexzxz.pdf
 
FormationPython2019.pptx
FormationPython2019.pptxFormationPython2019.pptx
FormationPython2019.pptx
 
Formation python micro club.net
Formation python micro club.netFormation python micro club.net
Formation python micro club.net
 
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 
Chap1_Entrees_Sorties.pptx
Chap1_Entrees_Sorties.pptxChap1_Entrees_Sorties.pptx
Chap1_Entrees_Sorties.pptx
 
Java1_BasesLangage.pdf
Java1_BasesLangage.pdfJava1_BasesLangage.pdf
Java1_BasesLangage.pdf
 
Java1_BasesLangage.pdf
Java1_BasesLangage.pdfJava1_BasesLangage.pdf
Java1_BasesLangage.pdf
 
Formation python
Formation pythonFormation python
Formation python
 
Programmation en C
Programmation en CProgrammation en C
Programmation en C
 
Introduction à Python
Introduction à PythonIntroduction à Python
Introduction à Python
 
Pensez objets avec java
Pensez objets avec javaPensez objets avec java
Pensez objets avec java
 
Programming language python 2021
Programming language python 2021Programming language python 2021
Programming language python 2021
 
Langage de Programmation.pdf
Langage de Programmation.pdfLangage de Programmation.pdf
Langage de Programmation.pdf
 
algo-imsi-2.pdf
algo-imsi-2.pdfalgo-imsi-2.pdf
algo-imsi-2.pdf
 
ESGAE_C#_2021-2024 Cours Avancé (('.pptx
ESGAE_C#_2021-2024 Cours Avancé (('.pptxESGAE_C#_2021-2024 Cours Avancé (('.pptx
ESGAE_C#_2021-2024 Cours Avancé (('.pptx
 
Cours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfCours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdf
 

Dernier

SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSKennel
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Gilles Le Page
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxAsmaa105193
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSKennel
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSKennel
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETMedBechir
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxMartin M Flynn
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxmmatar2
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSKennel
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxrababouerdighi
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSKennel
 
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEBONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEgharebikram98
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeXL Groupe
 

Dernier (20)

SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. Marocpptx
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptx
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptx
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptx
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
DO PALÁCIO À ASSEMBLEIA .
DO PALÁCIO À ASSEMBLEIA                 .DO PALÁCIO À ASSEMBLEIA                 .
DO PALÁCIO À ASSEMBLEIA .
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
 
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEBONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directe
 

M2 INAE introduction python.pdf

  • 1. M2 INAE/ SEMESTRE 1 2022-2023 Amdouni Hajer ESSECT INTRODUCTION PYTHON PYTHON AUX ÉCONOMISTES 1
  • 2. PLAN 1. Historique du langage python 2. Caractéristiques du langage Python 3. Base de la programmation Python Partie 1 Partie 2 Partie 3 4. Structures de données: Types et Variables 5. Structures de contrôle: Structures conditionnelles et structures itératives 6. Les collections Python 7. Les sous programmes Python 8. Librairie Numpy 2
  • 3. Partie 1 1. Historique du langage python 3
  • 4. 1. Historique du langage python 4 • Python est un langage de programmation de haut niveau largement utilisé. • L’inspiration pour le nom est venue de l’émission télévisée de la BBC – ‘Monty Python’s Flying Circus’ • Guido Van Rossum a d’abord commencé comme un projet de passe-temps parce qu’il cherchait un projet intéressant pour s’occuper pendant Noël décembre 1989 . • En 1999, le projet Computer Programming for Everybody (CP4E) est lancé avec collaboration entre le CNRI et la DARPA. Il s'agit d'utiliser Python comme langage d'enseignement de la programmation. Guido Van Rossum Créateur Python
  • 5. 1. Historique du langage python 5 ● 1ère version (0.9.0) en 1991 développé par Guido Van Rossum. ● Python 2.0 : Octobre 2000 ● Python 3.0 : Décembre 2008 ● Dernière version : 3.10.7 apparue le 04 Octobre 2021 Versions Python
  • 6. Partie 1 2. Caractéristiques du langage Python 6
  • 7. 7 • Python est un langage de programmation objet interprété et open source (free) • Disponible sur la grande majorité des plates-formes courantes (BeOS, Mac OS X, Unix, Windows). • Langage polyvalent : nous pouvons presque tout faire avec Python grâce à ses bibliothèques variées. • Python gère ses ressources (mémoire, descripteurs de fichiers...) sans intervention du programmeur : il intègre un système de ramasses miettes (Garbage Collector) • Il a été principalement développé pour mettre l’accent sur la lisibilité du code, et sa syntaxe permet aux programmeurs d’exprimer des concepts en moins de lignes de code. Objectifs 2. Caractéristiques du langage Python Caractéristiques
  • 8. 2. Caractéristiques du langage Python 8
  • 9. 9 Qui utilise python? 2. Caractéristiques du langage Python Le premier selon le classement TIOBE -septembre 2022-
  • 10. 10 Qui utilise python? 2. Caractéristiques du langage Python Le premier selon le classement PYPL -septembre 2022-
  • 11. 11 Les 10 Sites Web les plus populaires construits avec Python 2. Caractéristiques du langage Python 1. Spotify 2. Instagram 3. Netflix 4. Uber 5. Dropbox 6. Reddit 7. Google 8. Quora 9. Facebook 10.Pinterest
  • 13. Partie 1 3. Base de la programmation Python 13
  • 14. 3. Base de la programmation Python 14 Tutoriels en ligne : • OpenClassroom • Python.Developpez • Wikibooks Site Officiel: • python.org Plateformes en ligne: • Kaggle • Github
  • 15. 15 3. Base de la programmation Python Environnement de développement  Compilateur python en ligne  Google Collab  Distribution ANACONDA  Python + IDE python Exemple: https://www.programiz.com/python-programming/online-compiler/ ATOM, Spyder , VS CODE, Pycharm…..
  • 16. 16 ● Le symbole # est utilisé pour commenter une seule ligne : #Ceci est un commentaire ● Tout ce qui se trouve entre les symboles """ est considéré comme commentaire : """ Tout ceci est un comme commentaire """ Les commentaires 3. Base de la programmation Python Indentation Spécificité code python Il est recommandé avec Python d'indenter son code avec 4 espaces (équivalent à 1 tabulation). L'indentation est obligatoire en Python pour séparer les blocs d'instructions.
  • 17. 3. Base de la programmation Python 17 Exemple Code Python
  • 18. Partie 1 4. Structures de données: Types et Variables 18
  • 19. 4. Structures de données: Types et Variables 19 Python est Dynamiquement typé, c.à.d, toute variable manipulable par le programmeur : – possède un type bien définit à l'exécution, – qui n'a pas besoin d'être déclaré à l'avance, – qui peut être modifié lors de l’exécution. ● Une variable est définie par : nom_variable = valeur
  • 20. 4. Structures de données: Types et Variables 20 ● Les noms de variables sont sensibles à la casse. ● Utiliser uniquement des caractères alphanumériques et des tirets bas. ● Commencer avec une lettre ou le tiret bas : un nom de variable ne peut pas commencer par un nombre. ● Utiliser des noms descriptifs pour les variables : un nom de variable doit refléter son contenu. ● Utiliser des mots complets : éviter d’abréger ou de raccourcir les mots. ● Suivre une convention d’appellation commune : la convention populaire pour Python est le snake case Les noms de variables
  • 21. 4. Structures de données: Types et Variables 21 Les types de variables
  • 22. 4. Structures de données: Types et Variables 22 ● Un « int » représente un entier naturel. ● Un « float » représente un réel. ● Les opérations possibles sur ces types sont : – x + y : la somme de x et y. – x - y : la différence entre x et y. – x * y : le produit de x et y. – x / y : le quotient réel de x et y. Les nombres – x // y : le quotient entier de x par y. – x % y : le reste de x divisé par y. – x ** y : la puissance de x par y. Equivalent de pow(x, y)
  • 23. 4. Structures de données: Types et Variables 23 ● Le type booléen prend les valeurs True or False. ● On peut lui appliquer les opérateurs logigues : – ET Logique : and – OU Logique : or – Négation : not – ... Le type booléen
  • 24. 4. Structures de données: Types et Variables 24 ● Une chaîne de caractère est une séquence de caractères. ● Python utilise le code UNICODE. ● Une chaîne est déclarée entre les apostrophes ou les guillemets. ● On peut utiliser les symboles de formatage ‘n’, ‘t’, … dans une chaîne. ● On peut utiliser le symbole """ pour déclarer une chaîne multi-lignes. Les chaînes de caractères
  • 25. 4. Structures de données: Types et Variables 25 ● L’opérateur == vérifie si deux chaînes sont égales. 'Lig' == 'lig' →False ● L’opérateur + permet de concaténer deux chaînes. 'bon' + "jour"→ 'bonjour' ● L’opérateur * permet de répéter une chaîne plusieurs fois. 'lig' * 3→ 'ligliglig' ● La fonction len() renvoie la longueur d’une chaîne len('hello') 5 Opérations sur les chaînes
  • 26. 4. Structures de données: Types et Variables 26 Indexation des chaînes
  • 27. 4. Structures de données: Types et Variables 27 ● On peut accéder à une partie d’une chaîne en utilisant la syntaxe : nom_chaîne[indice_début:indice_fin+1:incrément] ● ch = 'bonjour' ● ch[1] → 'o‘ ● ch[-2] → 'u' ● ch[2:5] → 'njo' ● ch[3:] → 'jour' Accès à un sous ensemble d’une chaîne
  • 28. 4. Structures de données: Types et Variables 28 ● ch[:3] → 'bon' ● ch[:] → 'bonjour' ● ch[1::2] → 'oju' ● ch[2::] →'njour' ● ch[::3] → 'bjr' Accès à un sous ensemble d’une chaîne
  • 29. 4. Structures de données: Types et Variables 29 ● Une chaîne de caractères est représentée par un objet de la classe str. ● Pour connaître les méthodes de la classe str, on peut taper sur la console interactive la commande : dir(str) ● Pour avoir une aide sur une méthode en particulier, on peut utiliser la commande : help(str.nom_commande) Méthodes de la classe str
  • 30. 4. Structures de données: Types et Variables 30 ● Pour demander à l’utilisateur de saisir une valeur, on utilise la fonction input : Variable = input("message pour l’utilisateur") ● Dans ce cas, la variable sera de type str. On pourra ensuite modifier le type de la variable en utilisant les fonctions de conversion de type. Exemple : Variable = int(input("message pour l’utilisateur")) Fonction de saisie
  • 31. Partie 1 5. Structures conditionnelles et structures itératives 31
  • 32. 5. Structures conditionnelles et structures itératives Structures conditionnelles 32 On peut contrôler l’exécution d’un programme en utilisant les structures conditionnelles. ● La syntaxe est la suivante : if condition1: instructions 1 elif condition2: instructions 2 else : instructions 3 Attention : l’indentation est obligatoire !
  • 33. 5. Structures conditionnelles et structures itératives 33 ● La fonction range() renvoie une séquence d’entiers se trouvant entre deux valeurs. ● range(a): désigne les entiers de l’intervalle [0,a[ ● range (a,b): désigne les entiers de l’intervalle [a,b[ ● range (a,b,c): désigne les entiers de l’intervalle [a,b[ par pas entier égal à c La fonction range()
  • 34. 5. Structures conditionnelles et structures itératives Structures itératives 34 Boucle for ● La fonction range() est généralement utilisé avec la boucle for pour répéter un ensemble d’instructions. ● La syntaxe est comme suit : for i in range(a,b,c) : instructions
  • 35. 5. Structures conditionnelles et structures itératives Structures itératives 35 Quel est le résultat des boucles suivantes : for i in range(1, 5) : print(i**2) for i in range(1, 11, 2) : print(i) for i in range(10, 1, -2) : print(i)
  • 36. 5. Structures conditionnelles et structures itératives Structures itératives 36 Boucle for ● La boucle for peut aussi être utilisé pour itérer sur les caractères d’une chaîne de caractères ou les éléments d’une collection. ● Dans ce cas, la syntaxe est la suivante : for el in iterable: instruction
  • 37. 5. Structures conditionnelles et structures itératives Structures itératives 37 Question Qu’affiche le code suivant ? ch='azerty' ch1=‘ ' for c in ch: ch1 = ch1 + c*2 print(ch1)
  • 38. 5. Structures conditionnelles et structures itératives Structures itératives 38 L’instruction continue ● L’instruction continue permet d’ignorer le reste des instructions de l’itération courante et de passer à l’itération suivante. ● Exemple : for c in "azerty": if c == "r": continue print c
  • 39. 5. Structures conditionnelles et structures itératives Structures itératives 39 L’instruction break ● L’instruction break permet de sortir d’une boucle avant la fin de toutes les itérations. ● Exemple : for c in "azerty": if c == "r": break print(c)
  • 40. 5. Structures conditionnelles et structures itératives Structures itératives 40 Else dans une boucle for ● Le mot-clé else dans une boucle for spécifie un bloc de code à exécuter lorsque la boucle est terminée. ● Exemple : for x in range(6): print(x) else: print("Terminé!")
  • 41. 5. Structures conditionnelles et structures itératives Structures itératives 41 Else dans une boucle for ● Attention : le bloc else ne sera pas exécuté si la boucle est arrêtée par une instruction break. ● Exemple : for x in range(6): if x == 3: break print(x) else: print("Terminé!")
  • 42. 5. Structures conditionnelles et structures itératives Structures itératives 42 La boucle while ● Exemple : i = 1 while i < 6: print(i) i += 1 ● Comme pour la boucle for, on peut utiliser les instructions break, continue et else avec la boucle while
  • 43. 5. Structures conditionnelles et structures itératives Structures itératives 43 Qu’affiche le code suivant ? ch = '537024‘ i = 0 while i < len(ch): if int(ch[i]) == 0: break print(ch[i]) i+=1 else: print('La chaîne ne contient pas de zéro')
  • 44. Partie 1 6. Les collections Python 44
  • 45. 6. Les collections Python ● Une collection est un objet composite destiné à contenir d’autres variables. ● Python contient quatre types de collections: – les listes, – les tuples, – les sets, – les dictionnaires. ● Les collections sont itérables c.à.d on peut les parcourir avec la boucle for Présentation 45
  • 46. 6. Les collections Python a. Les listes  Une liste est une collection ordonnée d’éléments.  Les éléments d’une liste peuvent être hétérogènes  Une liste est modifiable.  Les éléments d’une liste sont définis entre crochets [ ] et séparés par des virgules. Exemple : my_list = ["abc", 34, True, 40, "male"] 46
  • 47. 6. Les collections Python a. Les listes  La liste peut également être indexée avec des nombres négatifs selon le modèle suivant : liste : ["girafe", "tigre", "singe", "souris"] indice positif : 0 1 2 3 indice négatif : -4 -3 -2 -1 Les indices négatifs reviennent à compter à partir de la fin. Leur principal avantage est que vous pouvez accéder au dernier élément d'une liste à l'aide de l'indice -1 sans pour autant connaître la longueur de cette liste. L'avant-dernier élément a lui l'indice -2, l'avant-avant dernier l'indice -3, etc. Indexation des Listes L’indexation et l’accès aux éléments d’une liste suit les mêmes règles que celles pour les chaînes de caractères. 47
  • 48. 6. Les collections Python a. Les listes Indexation des Listes L’indexation et l’accès aux éléments d’une liste suit les mêmes règles que celles pour les chaînes de caractères. Exemple : L=[1, 2, 3, 6, 1.3, 'hello', 'bb'] len(L) L[0] L[-1] L[3:] L[:5] L[2:5] L[1::2] L[::2] L[-1::-1] 48
  • 49. 6. Les collections Python 49 Opérations sur les listes L = [] ou L = list() L = L + [3, 2] → L = [3, 2] L = L * 2 → L = [3, 2 , 3, 2] L = L + [4] * 3 → [3, 2, 3, 2, 4, 4, 4] ● On peut vérifier l’existence d’un élément dans une liste en utilisant l’opérateur in. "apple" in ["apple", "banana", "cherry"] True
  • 50. 6. Les collections Python 50 Modification d’une liste Pour changer un élément d’une liste, il suffit de le référencer par son indice : thislist = ["apple", "banana", "cherry"] thislist[1] = "ananas" ● Pour insérer un élément dans une position particulière, on utilise la méthode insert() : thislist.insert(2, "watermelon") ● Pour ajouter un élément à la fin d’une liste, on utilise la méthode append() : thislist.append("orange"
  • 51. 6. Les collections Python 51 Suppression d’un élément ● La méthode pop() permet de supprimer un élément selon son indice : ● thislist = ["apple", "banana", "cherry", "banana"] thislist.pop(2) ● Si on ne spécifie pas l'index, la méthode pop() supprime le dernier élément. ● La méthode remove() supprime la 1ère occurrence d’une valeur : thislist.remove("banana") ● La méthode clear() supprime tous les éléments d’une liste : thislist.clear()
  • 52. 6. Les collections Python 52 Tri d’une liste ● La méthode sort() permet de trier une liste par ordre alphanumérique, ascendant : thislist1 = ["orange", "mango", "kiwi", "banana"] thislist1.sort() ● Afin de faire un tri décroissant, on utilise le paramètre reverse avec la valeur True : thislist2 = [100, 50, 65, 82, 23] thislist2.sort(reverse = True) ● Pour copier une liste, on utilise la méthode copy() : mylist = thislist1.copy()
  • 53. 6. Les collections Python 53 Création d’une liste et fonction range() On peut créer une liste en utilisant la fonction range() de la manière suivante : nom_list = [expression for x in range(valeur) if condition] ● La condition est comme un filtre qui accepte uniquement les éléments dont la valeur est True. ● Exemples : L1 = [x for x in range(5)] → L1 = [0, 1, 2, 3, 4] L2 = [2*x for x in range(5)] →L2 = [0, 2, 4, 6 , 8 ] L3 = [x for x in range(5) if x!=3] → L3 = [0, 1, 2, 4]
  • 54. 6. Les collections Python 54 Création d’une liste par compréhension ● La compréhension de liste offre une syntaxe raccourcie pour créer une nouvelle liste basée sur les valeurs d'une liste existante : newlist = [expression for item in liste if condition] ● Exemple : fruits = ["apple", "banana", "cherry", "kiwi", "mango"] L1 = [x for x in fruits if "a" in x] L2 = [x.upper() for x in fruits] L3 = ['hello' for x in fruits]
  • 55. 6. Les collections Python 55 ● Un tuple est une collection ordonnée d’éléments. ● Les éléments d’un tuple peuvent être hétérogènes. ● Un tuple est non modifiable. ● Les éléments d’un tuple sont définis entre parenthèses ( ) et séparés par des virgules. ● Exemple : fruits = ("apple", "banana", "cherry") Les tuples
  • 56. 6. Les collections Python 56 Remarques ● L’indexation et l’accès aux éléments d’un tuple suit les mêmes règles que celles pour les chaînes de caractères et les listes. ● Les opérateurs + et * fonctionnent de la même manière que pour les listes et les chaînes de caractères. ● Les parenthèses peuvent être enlevés dans la définition d’un tuple ! ● On crée un tuple vide en écrivant : empty = () ou bien empty = tuple() ● Si un tuple contient une seule valeur alors cette valeur doit être suivie d’une virgule dans la définition du tuple : singleton = 'lig', ou bien singleton = ('lig',)
  • 57. 6. Les collections Python 57 Conversion liste - tuple ● On peut convertir un tuple en une liste de la manière suivante : nom_liste = list(nom_tuple) ● On peut aussi convertir une liste en un tuple de la manière suivante : nom_tuple = tuple(nom_liste)
  • 58. 6. Les collections Python 58 ● Un set est une collection non ordonnée d’éléments. ● Les éléments d’un set peuvent être hétérogènes. ● Les éléments d’un set sont non modifiables. Cependant, on peut ajouter de nouveaux éléments ou supprimer des éléments existants. ● Les éléments d’un set sont définis entre accolades { } et séparés par des virgules. ● Exemple : fruits = {"apple", "banana", "cherry"} Les sets
  • 59. 6. Les collections Python 59 ● Les éléments d’un set ne sont pas indexés. ● Un set n’accepte pas de doublons. Si on définit, un set en répétant deux fois la même valeur alors une seule valeur sera conservée : fruits = {"apple", "banana", "cherry", "apple"} Est équivalent à : fruits = {"apple", "banana", "cherry"} ● Un set peut être crée à partir d’une liste ou un tuple : fruits = set(["apple", "banana", "cherry"]) Les sets
  • 60. 6. Les collections Python 60 Parcours, ajout et suppression ● On peut parcourir un set en utilisant la boucle for. Dans ce cas, l’ordre d’accès aux éléments du set sera différent à chaque exécution. ● La méthode add() permet d’ajouter un élément à un set : fruits.add("orange") ● La méthode discard() permet de supprimer un élément d’un set : fruits.discard('apple‘)
  • 61. 6. Les collections Python 61 ● Un dictionnaire est une collection ordonnée d’éléments. ● Un dictionnaire est une collection de type clé/valeurs. ● Les clés dans un dictionnaire sont uniques. ● Les éléments d’un dictionnaire peuvent être hétérogènes. ● Un dictionnaire est modifiable ● Les éléments d’un dictionnaire sont définis entre accolades et séparés par des virgules. ● Chaque élément est définie par une clé et une valeur. ● La clé et la valeur sont séparés par deux points. ● Exemple : car = { "brand": "Ford", "model": "Mustang", "year": 1964 } Les dictionnaires
  • 62. 6. Les collections Python 62 Accès à un élément ● On peut accéder à un élément d'un dictionnaire en se référant à son nom de clé, entre crochets : print(car['brand']) ● La méthode get() permet d’avoir le même résultat : x = car.get('brand')
  • 63. 6. Les collections Python 63 Ajout/Modification/ Suppression ● L'ajout d'un élément au dictionnaire se fait en utilisant une nouvelle clé et en lui attribuant une valeur : car["color"] = "red " ● On peut modifier la valeur d'un élément spécifique en se référant à son nom de clé : car["year"] = 2018 ● La méthode pop() supprime l'élément avec le nom de clé spécifié : car.pop("model" )
  • 64. 6. Les collections Python 64 Accès aux clés et valeurs ● La méthode values() retourne une liste de toutes les valeurs d’un dictionnaire. ● La méthode keys() retourne une liste de toutes les clés d’un dictionnaire. ● La méthode items() renvoie une liste contenant un tuple pour chaque paire clé-valeur d’un dictionnaire. ● Attention : Ces trois méthodes renvoient une vue du dictionnaire c.à.d qu’un changement sur le dictionnaire sera automatiquement répercuté sur le résultat de chacune de ces méthodes : car = { "brand": "Ford", "model": "Mustang" } x = car.keys() print(x) # ['brand', 'model'] car["color"] = "white« print(x) # ['brand', 'model', 'color']
  • 65. 6. Les collections Python 65 Parcours d’un dictionnaire
  • 66. 6. Les collections Python 66 Résumé : Caractéristiques des collections
  • 67. Partie 1 7. Les sous programmes Python 67
  • 68. 68 7. Les sous programmes Python En programmation, les fonctions sont très utiles pour réaliser plusieurs fois la même opération au sein d'un programme. Elles rendent également le code plus lisible et plus clair en le fractionnant en blocs logiques. Définition >>> def carre(x): ... return x**2 ... >>> print(carre(2)) 4 Pour définir une fonction, Python utilise le mot-clé def. Si on souhaite que la fonction renvoie quelque chose, il faut utiliser le mot-clé return. Exemple
  • 70. 6. Librairie Numpy NumPy (Numerical Python) est la bibliothèque la plus populaire de calcul scientifique en Python. Ainsi, elle permet d’effectuer les calculs scientifiques de base et de manipuler assez facilement les tableaux multidimensionnels. En gros NumPy permet de faire :  de l’Analyse numérique  de l’Algèbre Linéaire  du Calcul matriciel  … L’import de la bibliothèque NumPy se fait comme suit : import numpy as np 70
  • 71. 6. Librairie Numpy NumPy propose une structure de données populaire, les tableaux (de type array), sur lesquels il est possible d’effectuer de manière efficace des calculs. Les tableaux sont une structure notamment utile pour effectuer des opérations statistiques basiques ainsi que de la génération pseudo-aléatoire de nombres. Les tableaux La structure des tableaux ressemble à celle des listes, mais ces dernières sont moins rapides à être traitées et utilisent davantage de mémoire. Le gain de vitesse de traitement des tableaux en NumPy vient du fait que les données sont stockées dans des blocs contigus de mémoire, facilitant ainsi les accès en lecture 71
  • 72. 6. Librairie Numpy • Lors des calculs logiques et mathématiques sur des matrices et tableaux, c’est NumPy qui est très sollicité. Il permet d’effectuer rapidement et efficacement les opérations par rapport aux listes Python. • Les tableaux NumPy utilisent d’abord moins de mémoire et d’espace de stockage, ce qui le rend plus avantageux que les tableaux traditionnels de python. • En effet, un tableau NumPy est de petite taille et ne dépasse pas les 4MB. Mais une liste peut atteindre les 20MB. De plus, les tableaux NumPy sont faciles à manipuler. Pourquoi utiliser NumPy ? • Cette différence est remarquable quand vous voulez traiter avec des tableaux ayant des milliers d’éléments. De plus, avec les tableaux NumPy, vous serez en mesure d’effectuer des opérations par éléments, ce qui est impossible avec les listes Python. 72
  • 73. 6. Librairie Numpy import numpy as np org_array = np.array([[23, 46, 85], [43, 56, 99], [11, 34, 55]]) print(org_array) Exemple 73
  • 74. 6. Librairie Numpy Création d’un tableau np.array([ 1 , 2 , 3 , 4 ]) Ce tableau n’a que des valeurs entières. Vous avez la possibilité de préciser le type de données dans l’argument : np.array ([ 1 , 2 , 3 , 4 ], dtype = np . float32 ) 74
  • 75. 6. Librairie Numpy Les tableaux multidimensionnels NumPy Tableau de Zéros et de Un Avec NumPy, vous avez la possibilité de créer des tableaux dont toutes les valeurs sont 0. C’est avec la méthode np.zeros() que vous pouvez effectuer cette opération. import numpy as np np.zeros(5) np.ones(5,dtype = np . int32 ) 75
  • 76. 6. Librairie Numpy Les nombres aléatoires La méthode la plus utilisée pour créer des tableaux est la méthode np.random.rand(). Cette méthode crée des tableaux avec des valeurs aléatoires comprises entre 0 et 1 : 76
  • 77. 6. Librairie Numpy Un tableau de votre choix Vous avez la possibilité de remplir le tableau avec n’importe quelle donnée grâce à la méthode np.full() : np.full((2,2),7 ) 7 7 7 7 77
  • 78. la méthode append() qui ajoute plutôt de nouvel élément dans le tableau : 6. Librairie Numpy 78 # ajoute des valeurs à ndarray a = np.array([[1,2], [3,4]]) np.append(a,[[5,6]], axis=0)
  • 79. 6. Librairie Numpy Il arrive parfois que vous alliez vouloir réduire un tableau multidimensionnel à un tableau à une seule dimension. Pour cela, vous pouvez utiliser les méthodes flatten() et ravel(). Aplatir un tableau NumPy a = np.ones((2,2)) b = a.flatten() c = a.ravel() print('Forme Original :', a.shape) print('Array :','n', a) print('Forme après aplatissement :',b.shape) print('Array :','n', b) print('Forme après ravel :',c.shape) print('Array :','n', c) Remarque Toute modification apportée au tableau renvoyé par ravel() sera également reflétée dans le tableau d’origine alors que ce ne sera pas le cas avec flatten(). 79
  • 80. 6. Librairie Numpy Transposition d’un tableau NumPy Une autre manière de modifier la forme d’un tableau avec NumPy est la méthode transpose(). Cette méthode renvoie la transpose d’un tableau qui est le changement des valeurs des lignes par les colonnes. a = np.array([[1,2,3], [4,5,6]]) b = np.transpose(a) print('Original','n','Shape',a.shape,'n',a) print('Développer le long des colonnes :','n','Forme',b.shape,'n',b) 80
  • 81. 6. Librairie Numpy Découpage de tableaux NumPy 1-D récupérer des éléments d’un index à un autre [début : fin]. Vous pouvez même faire mieux en donnant le pas de la taille. 81
  • 82. 6. Librairie Numpy Découpage de tableaux NumPy 2-D a = np.array([[1,2,3],[4,5,6]]) # affiche les valeurs de la première ligne print('Valeurs de la première ligne :','n',a[0:1,:]) # avec un pas pour les colonnes print('Valeurs alternatives de la première ligne :','n',a[0:1,::2]) # print('Valeurs de la deuxième colonne :','n',a[:,1::2]) print('Valeurs arbitraires :','n',a[0:1,1:3]) 82
  • 83. 6. Librairie Numpy obtenir un élément d’un tableau 2D : la méthode flip(), vous pouvez aussi inverser le tableau : a = np.array([[1,2,3,4,5], [6,7,8,9,10]]) print('Tableau inversé verticalement :','n',np.flip(a,axis=1)) print('Tableau inversé horizontalement :','n',np.flip(a,axis=0)) 83
  • 84. 6. Librairie Numpy Empiler des tableaux Il existe deux manières de créer un tableau en combinant d’autres tableaux. Vous allez découvrir les deux manières : •Combiner les tableaux sur la verticale, c’est à dire le long des lignes grâce à la méthode vstack(). Cela va augmenter évidemment le nombre de lignes dans le tableau final ; •Effectuer une combinaison sur l’horizontal, c’est à dire le long des colonnes grâce à la méthode hstack(). Cela va augmenter évidemment le nombre de colonnes dans le tableau final. 84
  • 85. 6. Librairie Numpy a = np.arange(0,5) b = np.arange(5,10) print('Tableau 1 :','n',a) print('Tableau 2 :','n',b) print('Empilement vertical :','n',np.vstack((a,b))) print('Empilement horizontal :','n',np.hstack((a,b))) Empiler des tableaux 85
  • 86. 6. Librairie Numpy Concaténer des tableaux Il n’y a pas que la méthode de combinaison qui permet de formuler un tableau à base d’autres tableaux. Avec la méthode concatenate(), le tour est joué : a = np.arange(0,5).reshape(1,5) b = np.arange(5,10).reshape(1,5) print('Tableau 1 :','n',a) print('Tableau 2 :','n',b) print('Concaténer le long des lignes :','n',np.concatenate((a,b),axis=0)) print('Concaténer le long des colonnes :','n',np.concatenate((a,b),axis=1)) 86
  • 87. 6. Librairie Numpy 87 Opérations arithmétiques de base sur les tableaux NumPy a = np.arange(1,6) print('Soustraire :',a-5) print('Multiplier :',a*5) print('Diviser :',a/5) print('Puissance :',a**2) print('Reste :',a%5)
  • 88. 6. Librairie Numpy 88 Moyenne, médiane et écart type a = np.arange(5,15,2) print('Mean :',np.mean(a)) print('Déviation standard :',np.std(a)) print('Median :',np.median(a)) a = np.array([[1,6], [4,3]]) # minimum le long d'une colonne print('Min :',np.min(a,axis=0)) # maximum le long d'une ligne print('Max :',np.max(a,axis=1)) Valeurs Min-Max et leur indice a = np.array([[1,6,5], [4,3,7]]) # minimum le long d'une colonne print('Min :',np.argmin(a,axis=0)) # maximum le long d'une ligne print('Max :',np.argmax(a,axis=1))
  • 89. 6. Librairie Numpy 89 a = np.array([1,4,2,5,3,6,8,7,9]) np.sort(a, kind='quicksort') Tri a = np . array ( [[ 5 , 6 , 7 , 4 ], [ 9 , 2 , 3 , 7 ]] ) # trier le long de la colonne print ( 'Trier le long de la colonne :' , 'n' , np . sort ( a , kind = 'mergresort' , axis = 1 )) # trier le long la ligne print ( 'Trier le long de la ligne :' , 'n' , np . sort ( a , kind = 'mergesort' , axis =0 )) Tri d’un axe