NumPy est une bibliothèque Python fondamentale pour le calcul scientifique, offrant un objet array multidimensionnel et diverses routines pour des opérations de tableaux rapides. Elle prend en charge les opérations mathématiques, logiques, la manipulation de formes, le tri, les entrées/sorties, les transformations de Fourier, l’algèbre linéaire, les statistiques, les simulations aléatoires, etc.
La meilleure façon d’apprendre est de pratiquer et de s’exercer. Ici, vous pouvez pratiquer les concepts de NumPy avec des exercices allant du plus simple au plus complexe, chacun accompagné d’un exemple de solution et d’une explication. Il est recommandé d’essayer ces exercices par vous-même avant de vérifier les solutions.
Exercice 1:
Écrire un programme NumPy pour ajouter des valeurs à la fin d’un tableau.
Exemple:
Tableau original:
[1, 2, 3]
Après avoir ajouté des valeurs à la fin du tableau:
[1 2 3 4 5 6]
Solution:
# Importer la bibliothèque NumPy avec l'alias 'np'.
import numpy as np
# Créer une liste Python
tab = [1, 2, 3]
print("Tableau original:")
print(tab)
# Ajout de valeurs à la fin du tableau à l'aide de np.append() et affectation du résultat à 'tab'.
tab = np.append(tab, [4, 5, 6])
print("Après avoir ajouté des valeurs à la fin du tableau:")
print(tab)
Sortie:
Tableau original:
[1, 2, 3]
Après avoir ajouté des valeurs à la fin du tableau:
[1 2 3 4 5 6]
Explication:
Dans le code ci-dessus : tab = [1, 2, 3] : Définit une liste appelée « tab » avec trois éléments entiers.
tab = np.append(tab, [4, 5, 6]) : La fonction np.append() est utilisée pour ajouter une liste de trois éléments à la liste originale « tab ». L’objet résultant est converti en tableau NumPy et stocké à nouveau dans « tab ».
Exercice 2:
Ecrivez un programme NumPy pour tester si chaque élément d’un tableau 1-D est également présent dans le deuxième tableau.
Exemple:
Tableau 1: [0 1 2 3 4]
Tableau 2: [0, 3]
Comparer chaque élément de tab1 et tab2
[True False False True False]
Solution:
# Importer la bibliothèque NumPy avec l'alias 'np'.
import numpy as np
# Création d'un tableau 'tab1' avec NumPy
tab1 = np.array([0, 1, 2, 3, 4])
# Affichage du contenu de 'tab1'
print("Tableau 1: ", tab1)
# Création d'une liste Python 'tab2'
tab2 = [0, 3]
# Affichage du contenu de 'tab2'
print("Tableau 2: ", tab2)
print("Comparer chaque élément de tab1 et tab2")
print(np.in1d(tab1, tab2))
Sortie:
Tableau 1: [0 1 2 3 4]
Tableau 2: [0, 3]
Comparer chaque élément de tab1 et tab2
[True False False True False]
Explication:
Dans le code ci-dessus : tab1 = np.array([0, 1, 2, 3, 4]) : Crée un tableau NumPy avec les éléments 0, 1, 2, 3 et 4.
tab2 = [0, 3] : Crée une liste Python avec les éléments 0 et 3.
print(np.in1d(tab1, tab2)) : La fonction np.in1d vérifie si chaque élément de « tab1 » est présent dans « tab2 ». Elle renvoie un tableau booléen de la même forme que ‘tab1’, avec True aux positions où l’élément est présent dans ‘tab2’ et False sinon. La sortie sera [True False False True False]
Exercice 3:
Ecrivez un programme NumPy pour trouver les valeurs communes entre deux tableaux.
Exemple:
Tableau 1: [0 1 2 3 4]
Tableau 2: [0, 3, 8]
Valeurs communes entre les deux tableaux:
[0 3]
Solution:
# Importer la bibliothèque NumPy avec l'alias 'np'.
import numpy as np
# Création d'un tableau 'tab1' avec NumPy
tab1 = np.array([0, 1, 2, 3, 4])
# Affichage du contenu de 'tab1'
print("Tableau 1: ", tab1)
# Création d'une liste Python 'tab2'
tab2 = [0, 3, 8]
# Affichage du contenu de 'tab2'
print("Tableau 2: ", tab2)
print("Valeurs communes entre les deux tableaux:")
print(np.intersect1d(tab1, tab2))
Sortie:
Tableau 1: [0 1 2 3 4]
Tableau 2: [0, 3, 8]
Valeurs communes entre les deux tableaux:
[0 3]
Explication:
Dans le code ci-dessus: tab1 = np.array([0, 1, 2, 3, 4]) : Crée un tableau NumPy avec les éléments 0, 1, 2, 3 et 4.
tab2 = [0, 3, 8] : Crée une liste Python avec les éléments 0, 3 et 8.
print(np.intersect1d(tab1, tab2)): La fonction np.intersect1d renvoie un tableau trié contenant les éléments communs des deux tableaux d’entrée, ‘tab1’ et ‘tab2’. Dans ce cas, les éléments communs sont 0 et 3, la sortie sera donc [0 3].
Exercice 4:
Ecrire un programme NumPy pour obtenir les éléments uniques d’un tableau.
Exemple:
Tableau original:
[10 10 20 20 30 30]
Les éléments uniques du tableau sont:
[10 20 30]
Solution:
# Importer la bibliothèque NumPy avec l'alias 'np'.
import numpy as np
tab = np.array([10, 10, 20, 20, 30, 30])
print("Tableau original:")
print(tab)
print("Les éléments uniques du tableau sont:")
print(np.unique(tab))
Sortie:
Tableau original:
[10 10 20 20 30 30]
Les éléments uniques du tableau sont:
[10 20 30]
Explication:
Dans le code ci-dessus: tab = np.array([10, 10, 20, 20, 30, 30]): Crée un tableau NumPy avec les éléments 10, 10, 20, 20, 30 et 30.
print(np.unique(tab)) : La fonction np.unique renvoie les éléments uniques triés du tableau tab. Dans ce cas, les éléments uniques sont 10, 20 et 30, la sortie sera donc [10 20 30].
Exercice 5:
Ecrivez un programme NumPy pour trouver la différence entre deux tableaux. La différence totale renverra les valeurs triées et distinctes du tableau 1 qui ne sont pas dans le tableau 2.
Exemple:
tab1: [0 20 30 70 90 70]
tab2: [20, 40, 70, 50, 70]
Valeurs uniques dans tab1 qui ne sont pas dans tab2:
[0 30 90]
Solution:
# Importer la bibliothèque NumPy avec l'alias 'np'.
import numpy as np
tab1 = np.array([0, 20, 30, 70, 90, 70])
print("Tableau 1: ", tab1)
tab2 = [20, 40, 70, 50, 70]
print("Tableau 2: ", tab2)
print("Valeurs uniques dans tab1 qui ne sont pas dans tab2:")
print(np.setdiff1d(tab1, tab2))
Sortie:
Tableau 1: [0 20 30 70 90 70]
Tableau 2: [20, 40, 70, 50, 70]
Valeurs uniques dans tab1 qui ne sont pas dans tab2:
[0 30 90]
Explication:
print(np.setdiff1d(tab1, tab2)): La fonction np.setdiff1d renvoie la différence triée entre les deux tableaux d’entrée, qui se compose des éléments qui se trouvent dans ‘tab1’ mais pas dans ‘tab2’.
Exercice 6:
Ecrivez un programme NumPy pour trouver l’union de deux tableaux. L’union renverra un tableau unique et trié des valeurs de chacun des deux tableaux d’entrée.
print(np.union1d(tab1, tab2)): La fonction np.union1d renvoie l’union triée des deux tableaux d’entrée, qui se compose de tous les éléments uniques de ‘tab1’ et ‘tab2’.
Exercice 7:
Écrire un programme NumPy pour créer un tableau par répétition.
Dans le code ci-dessus : tab = [1, 2, 3] : Une liste tab est définie avec trois éléments.
tab1 = np.tile(tab, 2) : np.tile répète la liste donnée 2 fois selon son premier axe. Dans ce cas, tab est répété deux fois, créant un nouveau tableau NumPy : [1, 2, 3, 1, 2, 3].
tab2 = np.tile(tab, 3) : np.tile répète la liste donnée 3 fois selon l’axe tab, créant un nouveau tableau NumPy : [1, 2, 3, 1, 2, 3, 1, 2, 3].
Exercice 8:
Écrire un programme NumPy pour répéter les éléments d’un tableau.
# Importer la bibliothèque NumPy avec l'alias 'np'.
import numpy as np
# Répéter la valeur 2, quatre fois et créer un tableau NumPy
tab = np.repeat(2, 4)
print(tab)
# Créer un tableau NumPy
tab = np.array([[1, 2], [3, 4]])
# Répéter chaque élément du tableau deux fois
print(np.repeat(tab, 2))
Sortie:
[2 2 2 2]
[1 1 2 2 3 3 4 4]
Explication:
Dans le code ci-dessus : tab = np.repeat(2, 4) : La fonction np.repeat répète quatre fois la valeur 2, créant ainsi un nouveau tableau NumPy : [2, 2, 2, 2].
tab = np.array([[1, 2], [3, 4]]) : Un tableau NumPy 2×2 est créé avec les éléments [1, 2] dans la première ligne et [3, 4] dans la deuxième ligne.
print(np.repeat(tab, 2)) : La fonction np.repeat est appelée à nouveau, cette fois avec le tableau NumPy 2D. Par défaut, les éléments du tableau d’entrée sont aplatis, puis chaque élément est répété deux fois. Le tableau 1D résultant est [1, 1, 2, 2, 3, 3, 4, 4].
La sortie finale est affichée : [1, 1, 2, 2, 3, 3, 4, 4].
Exercice 9:
Ecrivez un programme NumPy pour trouver les index des valeurs maximales et minimales le long de l’axe donné d’un tableau.
# Importer la bibliothèque NumPy avec l'alias 'np'.
import numpy as np
# Créer un tableau NumPy
tab = np.array([1, 2, 3, 4, 5, 6, 7])
# Afficher le tableau original
print("Tableau original: ", tab)
# Trouver l'index de la valeur maximale dans le tableau
print("Valeur maximale: ", np.argmax(tab))
# Trouver l'index de la valeur minimale dans le tableau
print("Valeur minimale: ", np.argmin(tab))
Dans le code ci-dessus : tab = np.array([1, 2, 3, 4, 5, 6, 7]) : Un tableau NumPy 1D est créé avec les éléments [1, 2, 3, 4, 5, 6, 7].
print("Valeur maximale: ", np.argmax(tab)) : La fonction np.argmax trouve l’indice de la valeur maximale dans le tableau. Dans ce cas, la valeur maximale est 7 et son indice est 6.
La sortie est la suivante : Valeurs maximales : 6.
print("Valeur minimale: ", np.argmin(tab)) : La fonction np.argmin trouve l’indice de la valeur minimale dans le tableau. Dans ce cas, la valeur minimale est 1 et son indice est 0. La sortie est la suivante : Valeurs minimales : 0.
Exercice 10:
Ecrivez un programme NumPy pour comparer deux tableaux en utilisant NumPy.
Exemple:
Tableau a : [2 3]
Tableau b : [5 6]
a > b
[False False]
a >= b
[False False]
a < b
[True True]
a <= b
[True True]
Solution:
# Importer la bibliothèque NumPy avec l'alias 'np'.
import numpy as np
# Création des tableaux NumPy 'a' et 'b'.
a = np.array([2, 3])
b = np.array([5, 6])
# Afficher les tableaux 'a' et 'b'
print("Tableau a: ", a)
print("Tableau b: ", b)
print("a > b")
print(np.greater(a, b))
print("a >= b")
print(np.greater_equal(a, b))
print("a < b")
print(np.less(a, b))
print("a <= b")
print(np.less_equal(a, b))
Sortie:
Tableau a : [2 3]
Tableau b : [5 6]
a > b
[False False]
a >= b
[False False]
a < b
[True True]
a <= b
[True True]
Explication:
Dans le code ci-dessus : a = np.array([2, 3]) : Un tableau NumPy 1D a est créé avec les éléments [2, 3].
b = np.array([5, 6]) : Un tableau NumPy 1D b est créé avec les éléments [5, 6].
print(np.greater(a, b)) : La fonction np.greater compare les éléments de a et b par élément et renvoie un tableau booléen avec le résultat de la comparaison a > b. Dans ce cas, le résultat est [False False].
print(np.greater_equal(a, b)) : La fonction np.greater_equal compare les éléments de a et b par élément et renvoie un tableau booléen avec le résultat de la comparaison a >= b. Dans ce cas, la sortie est [False False].
print(np.less(a, b)) : La fonction np.less compare les éléments de a et b par élément et renvoie un tableau booléen avec le résultat de la comparaison a < b. Dans ce cas, la sortie est [True True].
print(np.less_equal(a, b)) : La fonction np.less_equal compare les éléments de a et b élément par élément et renvoie un tableau booléen avec le résultat de la comparaison a <= b. Dans ce cas, la sortie est [True True].
Éditeur de code Python: Testez votre code en ligne!
QCM Python – Partie 1Bienvenue dans notre QCM Python ! Que vous soyez débutant ou déjà expérimenté en programmation, ce questionnaire à choix multiples est l’occasion parfaite de tester…Lire plus