Python (école d'ingénieur) · Chapitre 8 · Exercice
Slicing et extraction
Calcul scientifique avec NumPy
Énoncé
À partir de la matrice de l'exercice précédent, extraire :
- La première ligne.
- La dernière colonne.
- La sous-matrice formée des lignes 1 à 2 et des colonnes 1 à 3 (au sens de l'indexation Python).
- Tous les éléments pairs (utiliser un masque booléen).
- Les éléments supérieurs à 5.
Corrigé
import numpy as np
M = np.array([[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]])
# 1. Première ligne
print(f"Première ligne : {M[0, :]}")
print(f"Première ligne (autre syntaxe) : {M[0]}")
# 2. Dernière colonne
print(f"Dernière colonne : {M[:, -1]}")
# 3. Sous-matrice (lignes 1 à 2, colonnes 1 à 3)
print(f"Sous-matrice M[1:3, 1:4] :\n{M[1:3, 1:4]}")
# 4. Éléments pairs
pairs = M[M % 2 == 0]
print(f"Éléments pairs : {pairs}")
# 5. Éléments supérieurs à 5
sup5 = M[M > 5]
print(f"Éléments > 5 : {sup5}")
# Modification par masque (mettre à 0 les éléments pairs)
M_modif = M.copy()
M_modif[M_modif % 2 == 0] = 0
print("Matrice après mise à zéro des pairs :")
print(M_modif)
L'exécution de ce script affiche :
Première ligne : [1 2 3 4]
Première ligne (autre syntaxe) : [1 2 3 4]
Dernière colonne : [ 4 8 12]
Sous-matrice M[1:3, 1:4] :
[[ 6 7 8]
[10 11 12]]
Éléments pairs : [ 2 4 6 8 10 12]
Éléments > 5 : [ 6 7 8 9 10 11 12]
Matrice après mise à zéro des pairs :
[[1 0 3 0]
[5 0 7 0]
[9 0 0 0]]100 % gratuit
La suite du chapitre est sur Adloun
- 7 autres exercices corrigés dans ce chapitre, et 7 à chercher avec le tuteur
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.