Ce cours explore les bases de la programmation en Python, en mettant l'accent sur l'utilisation des collections intégrées telles que listes, tuples, ensembles et dictionnaires pour stocker, organiser et manipuler les données. Une introduction succincte à NumPy est également incluse, fournissant des compétences avancées pour la manipulation de tableaux et d'opérations numériques, préparant ainsi les participants à des applications plus avancées dans la science des données et le traitement numérique.
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
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
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
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
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
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')
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']
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
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